*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.38 1998/07/18 14:51:10 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.39 1998/07/18 14:58:58 momjian Exp $
*
*-------------------------------------------------------------------------
*/
* All non gcc
*/
-#if defined (nextstep)
-/*
- * NEXTSTEP (mach)
- * slock_t is defined as a struct mutex.
- */
-
-#define S_LOCK(lock) mutex_lock(lock)
-#define S_UNLOCK(lock) mutex_unlock(lock)
-#define S_INIT_LOCK(lock) mutex_init(lock)
-/* For Mach, we have to delve inside the entrails of `struct mutex'. Ick! */
-#define S_LOCK_FREE(alock) ((alock)->lock == 0)
-#endif /* nextstep */
-
-
-
-#if defined(__sgi)
-/*
- * SGI IRIX 5
- * slock_t is defined as a struct abilock_t, which has a single unsigned long
- * member.
- *
- * This stuff may be supplemented in the future with Masato Kataoka's MIPS-II
- * 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)
-#endif /* __sgi */
-
-
-
#if defined(__alpha)
/*
* OSF/1 (Alpha AXP)
-#if defined(_AIX)
-/*
- * AIX (POWER)
- *
- * Note that slock_t on POWER/POWER2/PowerPC is int instead of char
- * (see storage/ipc.h).
- */
-#define TAS(lock) cs((int *) (lock), 0, 1)
-#endif /* _AIX */
-
-
-
-
#if defined(NEED_I386_TAS_ASM)
/* non gcc i386 based things */
-
#if defined(USE_UNIVEL_CC)
#define TAS(lock) tas(lock)
}
#endif /* USE_UNIVEL_CC */
-
#endif /* NEED_I386_TAS_ASM */
-#endif /* else defined(__GNUC__) */
+#endif /* defined(__GNUC__) */
+
+
+
+/*************************************************************************
+ * These are the platforms that have common code for gcc and non-gcc
+ */
#if defined(__hpux)
/*
#endif /* __hpux */
+#if defined(__sgi)
+/*
+ * SGI IRIX 5
+ * slock_t is defined as a struct abilock_t, which has a single unsigned long
+ * member.
+ *
+ * This stuff may be supplemented in the future with Masato Kataoka's MIPS-II
+ * 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)
+#endif /* __sgi */
+
+
+#if defined(_AIX)
+/*
+ * AIX (POWER)
+ *
+ * Note that slock_t on POWER/POWER2/PowerPC is int instead of char
+ * (see storage/ipc.h).
+ */
+#define TAS(lock) cs((int *) (lock), 0, 1)
+#endif /* _AIX */
+
+
+#if defined (nextstep)
+/*
+ * NEXTSTEP (mach)
+ * slock_t is defined as a struct mutex.
+ */
+
+#define S_LOCK(lock) mutex_lock(lock)
+#define S_UNLOCK(lock) mutex_unlock(lock)
+#define S_INIT_LOCK(lock) mutex_init(lock)
+/* For Mach, we have to delve inside the entrails of `struct mutex'. Ick! */
+#define S_LOCK_FREE(alock) ((alock)->lock == 0)
+#endif /* nextstep */
+
+
+
+
/****************************************************************************
* Default Definitions - override these above as needed.
*/