From 6249971b41470f054ffd1525cde2180cea19087f Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Fri, 16 Feb 2001 23:50:40 +0000
Subject: [PATCH] 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.

---
 src/include/storage/s_lock.h | 8 +++++---
 1 file 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)
-- 
GitLab