aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/storage/lmgr/lwlock.c12
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;
}