diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2001-02-16 23:50:40 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2001-02-16 23:50:40 +0000 |
commit | 6249971b41470f054ffd1525cde2180cea19087f (patch) | |
tree | a5e1e013c939cc0375ab6052fae2b978fb1e4b3e /src | |
parent | 810c0b85d2e4ef54528c355b6019c4f3d6aa8351 (diff) | |
download | postgresql-6249971b41470f054ffd1525cde2180cea19087f.tar.gz postgresql-6249971b41470f054ffd1525cde2180cea19087f.zip |
Just noticed that use of 'volatile' in HPPA S_UNLOCK() was causing gcc
to generate unnecessarily stupid code. Tweak macro to describe a series
of store-constant ops, not store/load/store/load/store/load/store.
Diffstat (limited to 'src')
-rw-r--r-- | src/include/storage/s_lock.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h index 726c3645e56..9cf73163d60 100644 --- a/src/include/storage/s_lock.h +++ b/src/include/storage/s_lock.h @@ -9,7 +9,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.88 2001/02/10 04:07:25 tgl Exp $ + * $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.89 2001/02/16 23:50:40 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -392,8 +392,10 @@ tas(volatile slock_t *lock) #define S_UNLOCK(lock) \ do { \ volatile slock_t *lock_ = (volatile slock_t *) (lock); \ - lock_->sema[0] = lock_->sema[1] = \ - lock_->sema[2] = lock_->sema[3] = -1; \ + lock_->sema[0] = -1; \ + lock_->sema[1] = -1; \ + lock_->sema[2] = -1; \ + lock_->sema[3] = -1; \ } while (0) #define S_LOCK_FREE(lock) ( *(int *) (((long) (lock) + 15) & ~15) != 0) |