[project @ 2003-05-30 10:13:05 by simonmar]
[ghc-hetmet.git] / ghc / includes / SMP.h
index fa24798..319f510 100644 (file)
@@ -1,5 +1,5 @@
 /* ----------------------------------------------------------------------------
- * $Id: SMP.h,v 1.1 1999/11/02 15:05:52 simonmar Exp $
+ * $Id: SMP.h,v 1.4 2002/02/04 20:10:47 sof Exp $
  *
  * (c) The GHC Team, 1999
  *
@@ -20,9 +20,7 @@
 
 #if defined(SMP)
 
-#if    defined(INTERPRETER) \
-     || defined(PROFILING)  \
-     || defined(TICKY_TICKY)
+#if  defined(PROFILING)  || defined(TICKY_TICKY)
 #error Build options incompatible with SMP.
 #endif
 
 #define LOCK_CLOSURE(c)                                        \
   ({                                                   \
     const StgInfoTable *__info;                                \
-    __info = &WHITEHOLE_info;                          \
+    __info = &stg_WHITEHOLE_info;                      \
     do {                                               \
       XCHG(__info,((StgClosure *)(c))->header.info);   \
-    } while (__info == &WHITEHOLE_info);               \
+    } while (__info == &stg_WHITEHOLE_info);           \
     __info;                                            \
   })
 
 #define LOCK_THUNK(__info)                             \
-  CMPXCHG(R1.cl->header.info, __info, &WHITEHOLE_info);
-
-#define ACQUIRE_LOCK(mutex) pthread_mutex_lock(mutex);
-#define RELEASE_LOCK(mutex) pthread_mutex_unlock(mutex);
+  CMPXCHG(R1.cl->header.info, __info, &stg_WHITEHOLE_info);
 
 #else /* !SMP */
 
 #define LOCK_CLOSURE(c)     /* nothing */
 #define LOCK_THUNK(__info)  /* nothing */
-#define ACQUIRE_LOCK(mutex) /* nothing */
-#define RELEASE_LOCK(mutex) /* nothing */
 
 #endif /* SMP */