mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-03-13 19:57:53 +08:00
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.
This commit is contained in:
parent
810c0b85d2
commit
6249971b41
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user