Hmm, seems --disable-spinlocks has been broken for awhile and nobody
authorTom Lane <[email protected]>
Sat, 22 Jul 2006 21:04:46 +0000 (21:04 +0000)
committerTom Lane <[email protected]>
Sat, 22 Jul 2006 21:04:46 +0000 (21:04 +0000)
noticed.  Fix SpinlockSemas() to report the correct count considering
that PG 8.1 adds a spinlock to each shared-buffer header.

src/backend/storage/lmgr/spin.c

index e5f598b4c75fd11628f88362bf60f15153074e90..98b8e4afe858b9a38d98b4d7a89b978acd6ef24c 100644 (file)
@@ -22,8 +22,8 @@
  */
 #include "postgres.h"
 
+#include "miscadmin.h"
 #include "storage/lwlock.h"
-#include "storage/pg_sema.h"
 #include "storage/spin.h"
 
 
@@ -55,9 +55,9 @@ SpinlockSemas(void)
         * similar to the way shmem space estimation is handled.
         *
         * For now, though, we just need a few spinlocks (10 should be plenty)
-        * plus one for each LWLock.
+        * plus one for each LWLock and one for each buffer header.
         */
-       return NumLWLocks() + 10;
+       return NumLWLocks() + NBuffers + 10;
 }
 
 /*