From 6ee06b0fd36ac6271f1b89c7814f0b918bf371c5 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Sat, 12 Sep 1998 16:07:53 +0000 Subject: [PATCH] Irix lock fix from Robert Bruccoleri --- src/include/storage/s_lock.h | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h index 2a0c31cd9f..e835762f20 100644 --- a/src/include/storage/s_lock.h +++ b/src/include/storage/s_lock.h @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.46 1998/09/11 16:56:20 momjian Exp $ + * $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.47 1998/09/12 16:07:53 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -266,10 +266,11 @@ static const slock_t clear_lock = * assembly from his NECEWS SVR4 port, but we probably ought to retain this * for the R3000 chips out there. */ -#define TAS(lock) (!acquire_lock(lock)) -#define S_UNLOCK(lock) release_lock(lock) -#define S_INIT_LOCK(lock) init_lock(lock) -#define S_LOCK_FREE(lock) (stat_lock(lock) == UNLOCKED) +#include +#define TAS(lock) (test_and_set(lock,1)) +#define S_UNLOCK(lock) (test_then_and(lock,0)) +#define S_INIT_LOCK(lock) (test_then_and(lock,0)) +#define S_LOCK_FREE(lock) (test_then_add(lock,0) == 0) #endif /* __sgi */ -- 2.40.0