aboutsummaryrefslogtreecommitdiff
path: root/src/backend/storage/lmgr/spin.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/storage/lmgr/spin.c')
-rw-r--r--src/backend/storage/lmgr/spin.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/backend/storage/lmgr/spin.c b/src/backend/storage/lmgr/spin.c
index e5a9d353730..de3d9224e6e 100644
--- a/src/backend/storage/lmgr/spin.c
+++ b/src/backend/storage/lmgr/spin.c
@@ -67,7 +67,7 @@ SpinlockSemas(void)
int
SpinlockSemas(void)
{
- return NUM_SPINLOCK_SEMAPHORES;
+ return NUM_SPINLOCK_SEMAPHORES + NUM_ATOMICS_SEMAPHORES;
}
/*
@@ -77,8 +77,9 @@ extern void
SpinlockSemaInit(PGSemaphore spinsemas)
{
int i;
+ int nsemas = SpinlockSemas();
- for (i = 0; i < NUM_SPINLOCK_SEMAPHORES; ++i)
+ for (i = 0; i < nsemas; ++i)
PGSemaphoreCreate(&spinsemas[i]);
SpinlockSemaArray = spinsemas;
}
@@ -88,7 +89,7 @@ SpinlockSemaInit(PGSemaphore spinsemas)
*/
void
-s_init_lock_sema(volatile slock_t *lock)
+s_init_lock_sema(volatile slock_t *lock, bool nested)
{
static int counter = 0;