diff options
author | Robert Haas <rhaas@postgresql.org> | 2014-03-31 14:32:12 -0400 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2014-03-31 14:38:01 -0400 |
commit | e452019d8e29eb52dd755ba307b96a42f89da550 (patch) | |
tree | 0eebaef71189fce0b46ddccb8b897c9b3521bc3c /src | |
parent | ac2063ade566deb03e72e3da52cf472e125708b7 (diff) | |
download | postgresql-e452019d8e29eb52dd755ba307b96a42f89da550.tar.gz postgresql-e452019d8e29eb52dd755ba307b96a42f89da550.zip |
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.
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/storage/lmgr/lock.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/storage/lmgr/lock.c b/src/backend/storage/lmgr/lock.c index 3e761027946..0f218280090 100644 --- a/src/backend/storage/lmgr/lock.c +++ b/src/backend/storage/lmgr/lock.c @@ -238,7 +238,7 @@ typedef struct uint32 count[FAST_PATH_STRONG_LOCK_HASH_PARTITIONS]; } FastPathStrongRelationLockData; -FastPathStrongRelationLockData *FastPathStrongRelationLocks; +volatile FastPathStrongRelationLockData *FastPathStrongRelationLocks; /* |