summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane2001-12-10 21:13:50 +0000
committerTom Lane2001-12-10 21:13:50 +0000
commit584f818bef68450d23d1b75afbaf19febe38fd37 (patch)
treeb7269b2c8a414568d0cb9d1e00129addc2d70166
parent53016fa55c700d046321c686469165ba6da8a3fd (diff)
Declare LWLock pointers as volatile to prevent AIX compiler from
reordering operations at its whim. Releasing TAS lock before we've finished updating proc structure is uncool.
-rw-r--r--src/backend/storage/lmgr/lwlock.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/backend/storage/lmgr/lwlock.c b/src/backend/storage/lmgr/lwlock.c
index 3c90f108695..00fae5438e0 100644
--- a/src/backend/storage/lmgr/lwlock.c
+++ b/src/backend/storage/lmgr/lwlock.c
@@ -15,7 +15,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/storage/lmgr/lwlock.c,v 1.3 2001/11/05 17:46:28 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/storage/lmgr/lwlock.c,v 1.4 2001/12/10 21:13:50 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -185,7 +185,7 @@ LWLockAssign(void)
void
LWLockAcquire(LWLockId lockid, LWLockMode mode)
{
- LWLock *lock = LWLockArray + lockid;
+ volatile LWLock *lock = LWLockArray + lockid;
bool mustwait;
PRINT_LWDEBUG("LWLockAcquire", lockid, lock);
@@ -303,7 +303,7 @@ LWLockAcquire(LWLockId lockid, LWLockMode mode)
bool
LWLockConditionalAcquire(LWLockId lockid, LWLockMode mode)
{
- LWLock *lock = LWLockArray + lockid;
+ volatile LWLock *lock = LWLockArray + lockid;
bool mustwait;
PRINT_LWDEBUG("LWLockConditionalAcquire", lockid, lock);
@@ -369,7 +369,7 @@ LWLockConditionalAcquire(LWLockId lockid, LWLockMode mode)
void
LWLockRelease(LWLockId lockid)
{
- LWLock *lock = LWLockArray + lockid;
+ volatile LWLock *lock = LWLockArray + lockid;
PROC *head;
PROC *proc;
int i;