Mark FastPathStrongRelationLocks volatile.

Otherwise, the compiler might decide to move modifications to data
within this structure outside the enclosing SpinLockAcquire /
SpinLockRelease pair, leading to shared memory corruption.

This may or may not explain a recent lmgr-related buildfarm failure
on prairiedog, but it needs to be fixed either way.
This commit is contained in:
Robert Haas 2014-03-31 14:32:12 -04:00
parent 0f95b723eb
commit 4bc15a8bfb
1 changed files with 1 additions and 1 deletions

View File

@ -238,7 +238,7 @@ typedef struct
uint32 count[FAST_PATH_STRONG_LOCK_HASH_PARTITIONS];
} FastPathStrongRelationLockData;
static FastPathStrongRelationLockData *FastPathStrongRelationLocks;
static volatile FastPathStrongRelationLockData *FastPathStrongRelationLocks;
/*