summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2001-12-10 21:13:50 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2001-12-10 21:13:50 +0000
commit584f818bef68450d23d1b75afbaf19febe38fd37 (patch)
treeb7269b2c8a414568d0cb9d1e00129addc2d70166 /src
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.
Diffstat (limited to 'src')
-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;