]> granicus.if.org Git - postgresql/commitdiff
Adjust m68k spinlock code to avoid duplicate in-line and not-in-line
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 26 Aug 2005 14:47:35 +0000 (14:47 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 26 Aug 2005 14:47:35 +0000 (14:47 +0000)
definitions on recent Linux systems, per Martin Pitt.

src/backend/storage/lmgr/s_lock.c
src/include/storage/s_lock.h

index f57dd9a439e7d4a3d526e3702331d003ffc7f9af..d6c1a6578752964bbf3375a198a6aee50ffab9ed 100644 (file)
@@ -9,7 +9,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/storage/lmgr/s_lock.c,v 1.37 2005/08/25 17:17:09 tgl Exp $
+ *       $PostgreSQL: pgsql/src/backend/storage/lmgr/s_lock.c,v 1.38 2005/08/26 14:47:35 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -135,7 +135,12 @@ s_lock(volatile slock_t *lock, const char *file, int line)
  */
 
 
-#if defined(__m68k__)
+/*
+ * Note: all the if-tests here probably ought to be testing gcc version
+ * rather than platform, but I don't have adequate info to know what to
+ * write.  Ideally we'd flush all this in favor of the inline version.
+ */
+#if defined(__m68k__) && !defined(__linux__)
 /* really means: extern int tas(slock_t* **lock); */
 static void
 tas_dummy()
@@ -169,7 +174,7 @@ _success:                                           \n\
 #endif   /* __NetBSD__ && __ELF__ */
 );
 }
-#endif   /* __m68k__ */
+#endif   /* __m68k__ && !__linux__ */
 
 
 #else                                                  /* not __GNUC__ */
index 579db815a4e0fedac887ca6f8315205d7c57ae97..0124b365a016425755ff0cdd14a0087ab2d1f9a1 100644 (file)
@@ -66,7 +66,7 @@
  * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- *       $PostgreSQL: pgsql/src/include/storage/s_lock.h,v 1.135 2005/08/25 17:17:10 tgl Exp $
+ *       $PostgreSQL: pgsql/src/include/storage/s_lock.h,v 1.136 2005/08/26 14:47:35 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -191,7 +191,7 @@ tas(volatile slock_t *lock)
        return (int) ret;
 }
 
-#else
+#else /* __INTEL_COMPILER */
 
 static __inline__ int
 tas(volatile slock_t *lock)
@@ -203,7 +203,7 @@ tas(volatile slock_t *lock)
        return ret;
 }
 
-#endif
+#endif /* __INTEL_COMPILER */
 #endif  /* __ia64__ || __ia64 */
 
 
@@ -328,7 +328,7 @@ do \
 #endif /* powerpc */
 
 
-#if defined(__mc68000__) && defined(__linux__)
+#if (defined(__mc68000__) || defined(__m68k__)) && defined(__linux__)
 #define HAS_TEST_AND_SET
 
 typedef unsigned char slock_t;
@@ -350,7 +350,7 @@ tas(volatile slock_t *lock)
        return rv;
 }
 
-#endif  /* defined(__mc68000__) && defined(__linux__) */
+#endif  /* (__mc68000__ || __m68k__) && __linux__ */
 
 
 #if defined(__vax__)
@@ -491,7 +491,7 @@ tas(volatile slock_t *lock)
 /* These live in s_lock.c, but only for gcc */
 
 
-#if defined(__m68k__)
+#if defined(__m68k__) && !defined(__linux__)
 #define HAS_TEST_AND_SET
 
 typedef unsigned char slock_t;