mirror of
https://github.com/postgres/postgres.git
synced 2025-11-19 13:42:17 +03:00
Remove volatile qualifiers from dynahash.c, shmem.c, and sinvaladt.c
Prior to commit 0709b7ee72, access to
variables within a spinlock-protected critical section had to be done
through a volatile pointer, but that should no longer be necessary.
Thomas Munro
This commit is contained in:
@@ -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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user