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 */