From ebb3008dbde6354488c878e0076bae496f045968 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Wed, 24 Sep 1997 23:37:26 +0000 Subject: [PATCH] Fix for S_FREE_LOCK. --- src/include/storage/s_lock.h | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h index e806fb9f96..db697242b3 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.5 1997/09/22 18:14:25 momjian Exp $ + * $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.6 1997/09/24 23:37:26 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -55,6 +55,8 @@ #define S_INIT_LOCK(lock) mutex_init(lock) +#define S_LOCK_FREE(lock) ((*lock) == 0) + /* S_LOCK_FREE should return 1 if lock is free; 0 if lock is locked */ /* For Mach, we have to delve inside the entrails of `struct mutex'. Ick! */ #define S_LOCK_FREE(alock) ((alock)->lock == 0) @@ -133,6 +135,8 @@ static int tas(slock_t *lock); #define S_INIT_LOCK(lock) S_UNLOCK(lock) +#define S_LOCK_FREE(lock) ((*lock) == 0) + #endif /* i86pc_solaris || sparc_solaris */ /* @@ -154,6 +158,8 @@ static int tas(slock_t *lock); #define S_INIT_LOCK(lock) S_UNLOCK(lock) +#define S_LOCK_FREE(lock) ((*lock) == 0) + #endif /* aix */ /* @@ -205,6 +211,8 @@ static int tas(slock_t *lock); #define S_INIT_LOCK(lock) S_UNLOCK(lock) +#define S_LOCK_FREE(lock) ((*lock) == 0) + static int tas_dummy() { @@ -287,6 +295,8 @@ tas_dummy() #define S_INIT_LOCK(addr) (*(addr) = 0) +#define S_LOCK_FREE(lock) ((*lock) == 0) + #endif /* NEED_SPARC_TAS_ASM */ /* @@ -308,6 +318,8 @@ tas_dummy() #define S_INIT_LOCK(lock) S_UNLOCK(lock) +#define S_LOCK_FREE(lock) ((*lock) == 0) + #endif /* NEED_I386_TAS_ASM */ @@ -339,6 +351,8 @@ tas_dummy() #define S_INIT_LOCK(lock) S_UNLOCK(lock) +#define S_LOCK_FREE(lock) ((*lock) == 0) + #endif /* defined(__alpha__) && defined(linux) */ #if defined(linux) && defined(sparc) @@ -358,6 +372,8 @@ tas_dummy() #define S_INIT_LOCK(lock) S_UNLOCK(lock) +#define S_LOCK_FREE(lock) ((*lock) == 0) + #endif /* defined(linux) && defined(sparc) */ #if defined(linux) && defined(PPC) @@ -391,12 +407,10 @@ success: \n\ #define S_INIT_LOCK(lock) S_UNLOCK(lock) -#endif /* defined(linux) && defined(PPC) */ - -#else /* HAS_TEST_AND_SET */ - #define S_LOCK_FREE(lock) ((*lock) == 0) +#endif /* defined(linux) && defined(PPC) */ + #endif /* HAS_TEST_AND_SET */ #endif /* S_LOCK_H */ -- GitLab