postgres.git / summary / log / commit / refs
commit cbf65509bb59694412286239fe6db409060f8d69
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: Thu Oct 27 19:39:58 2011 +0000
First released in: 9.2.0
Fix the number of lwlocks needed by the "fast path" lock patch. It needs
one lock per backend or auxiliary process - the need for a lock for each
aux processes was not accounted for in NumLWLocks(). No-one noticed,
because the three locks needed for the three aux processes fit into the
few extra lwlocks we allocate for 3rd party modules that don't call
RequestAddinLWLocks() (NUM_USER_DEFINED_LWLOCKS, 4 by default).
src/backend/storage/lmgr/lwlock.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/backend/storage/lmgr/lwlock.c b/src/backend/storage/lmgr/lwlock.c
index 8fae67ebbb5..079eb29163e 100644
--- a/src/backend/storage/lmgr/lwlock.c
+++ b/src/backend/storage/lmgr/lwlock.c
@@ -167,8 +167,8 @@ NumLWLocks(void)
/* bufmgr.c needs two for each shared buffer */
numLocks += 2 * NBuffers;
- /* lock.c needs one per backend */
- numLocks += MaxBackends;
+ /* proc.c needs one for each backend or auxiliary process */
+ numLocks += MaxBackends + NUM_AUXILIARY_PROCS;
/* clog.c needs one per CLOG buffer */
numLocks += NUM_CLOG_BUFFERS;
[parent: 051d1ba7a02d]