diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2001-12-10 21:13:50 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2001-12-10 21:13:50 +0000 |
commit | 584f818bef68450d23d1b75afbaf19febe38fd37 (patch) | |
tree | b7269b2c8a414568d0cb9d1e00129addc2d70166 | |
parent | 53016fa55c700d046321c686469165ba6da8a3fd (diff) | |
download | postgresql-584f818bef68450d23d1b75afbaf19febe38fd37.tar.gz postgresql-584f818bef68450d23d1b75afbaf19febe38fd37.zip |
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.c | 8 |
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; |