diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/storage/lmgr/lwlock.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/backend/storage/lmgr/lwlock.c b/src/backend/storage/lmgr/lwlock.c index 36b4b8bbeaa..df8f9bfd893 100644 --- a/src/backend/storage/lmgr/lwlock.c +++ b/src/backend/storage/lmgr/lwlock.c @@ -350,8 +350,9 @@ CreateLWLocks(void) if (LWLockTrancheArray == NULL) { LWLockTranchesAllocated = 16; - LWLockTrancheArray = MemoryContextAlloc(TopMemoryContext, - LWLockTranchesAllocated * sizeof(LWLockTranche *)); + LWLockTrancheArray = (LWLockTranche **) + MemoryContextAlloc(TopMemoryContext, + LWLockTranchesAllocated * sizeof(LWLockTranche *)); } MainLWLockTranche.name = "main"; @@ -423,11 +424,12 @@ LWLockRegisterTranche(int tranche_id, LWLockTranche *tranche) { int i = LWLockTranchesAllocated; - while (i < tranche_id) + while (i <= tranche_id) i *= 2; - LWLockTrancheArray = repalloc(LWLockTrancheArray, - i * sizeof(LWLockTranche *)); + LWLockTrancheArray = (LWLockTranche **) + repalloc(LWLockTrancheArray, + i * sizeof(LWLockTranche *)); LWLockTranchesAllocated = i; } |