diff options
Diffstat (limited to 'src/backend/storage/ipc')
-rw-r--r-- | src/backend/storage/ipc/shmem.c | 11 | ||||
-rw-r--r-- | src/backend/storage/ipc/sinvaladt.c | 22 |
2 files changed, 10 insertions, 23 deletions
diff --git a/src/backend/storage/ipc/shmem.c b/src/backend/storage/ipc/shmem.c index 250e31255e9..78f15f0b00a 100644 --- a/src/backend/storage/ipc/shmem.c +++ b/src/backend/storage/ipc/shmem.c @@ -170,29 +170,26 @@ ShmemAlloc(Size size) Size newFree; void *newSpace; - /* use volatile pointer to prevent code rearrangement */ - volatile PGShmemHeader *shmemseghdr = ShmemSegHdr; - /* * ensure all space is adequately aligned. */ size = MAXALIGN(size); - Assert(shmemseghdr != NULL); + Assert(ShmemSegHdr != NULL); SpinLockAcquire(ShmemLock); - newStart = shmemseghdr->freeoffset; + newStart = ShmemSegHdr->freeoffset; /* extra alignment for large requests, since they are probably buffers */ if (size >= BLCKSZ) newStart = BUFFERALIGN(newStart); newFree = newStart + size; - if (newFree <= shmemseghdr->totalsize) + if (newFree <= ShmemSegHdr->totalsize) { newSpace = (void *) ((char *) ShmemBase + newStart); - shmemseghdr->freeoffset = newFree; + ShmemSegHdr->freeoffset = newFree; } else newSpace = NULL; diff --git a/src/backend/storage/ipc/sinvaladt.c b/src/backend/storage/ipc/sinvaladt.c index a2fde89b526..3cc15e04299 100644 --- a/src/backend/storage/ipc/sinvaladt.c +++ b/src/backend/storage/ipc/sinvaladt.c @@ -485,14 +485,9 @@ SIInsertDataEntries(const SharedInvalidationMessage *data, int n) } /* Update current value of maxMsgNum using spinlock */ - { - /* use volatile pointer to prevent code rearrangement */ - volatile SISeg *vsegP = segP; - - SpinLockAcquire(&vsegP->msgnumLock); - vsegP->maxMsgNum = max; - SpinLockRelease(&vsegP->msgnumLock); - } + SpinLockAcquire(&segP->msgnumLock); + segP->maxMsgNum = max; + SpinLockRelease(&segP->msgnumLock); /* * Now that the maxMsgNum change is globally visible, we give everyone @@ -579,14 +574,9 @@ SIGetDataEntries(SharedInvalidationMessage *data, int datasize) stateP->hasMessages = false; /* Fetch current value of maxMsgNum using spinlock */ - { - /* use volatile pointer to prevent code rearrangement */ - volatile SISeg *vsegP = segP; - - SpinLockAcquire(&vsegP->msgnumLock); - max = vsegP->maxMsgNum; - SpinLockRelease(&vsegP->msgnumLock); - } + SpinLockAcquire(&segP->msgnumLock); + max = segP->maxMsgNum; + SpinLockRelease(&segP->msgnumLock); if (stateP->resetState) { |