postgres.git / summary / log / commit / refs
commit 98d5b084d23b0304569ef2c1b4794754166cf0a5
Author: Andres Freund <andres@anarazel.de>
Date: Tue Sep 22 09:05:48 2015 +0000
First released in: 9.6.0, 9.5.0
Correct value of LW_SHARED_MASK.
The previous wrong value lead to wrong LOCK_DEBUG output, never showing
any shared lock holders.
Reported-By: Alexander Korotkov
Discussion: CAPpHfdsPmWqz9FB0AnxJrwp1=KLF0n=-iB+QvR0Q8GSmpFVdUQ@mail.gmail.com
Backpatch: 9.5, where the bug was introduced.
src/backend/storage/lmgr/lwlock.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/backend/storage/lmgr/lwlock.c b/src/backend/storage/lmgr/lwlock.c
index 9179d1b356b..fd4b479f10c 100644
--- a/src/backend/storage/lmgr/lwlock.c
+++ b/src/backend/storage/lmgr/lwlock.c
@@ -107,7 +107,7 @@ extern slock_t *ShmemLock;
#define LW_LOCK_MASK ((uint32) ((1 << 25)-1))
/* Must be greater than MAX_BACKENDS - which is 2^23-1, so we're fine. */
-#define LW_SHARED_MASK ((uint32)(1 << 23))
+#define LW_SHARED_MASK ((uint32) ((1 << 24)-1))
/*
* This is indexed by tranche ID and stores metadata for all tranches known
[parent: d9cb34abb40c]