Consolidated patch to 5.004_64
[p5sagit/p5-mst-13.2.git] / thread.h
index 1b1ddf9..6141cf3 100644 (file)
--- a/thread.h
+++ b/thread.h
@@ -4,6 +4,7 @@
 #  include <win32thread.h>
 #else
 
+#ifndef DJGPP
 /* POSIXish threads */
 #ifdef OLD_PTHREADS_API
 #  define pthread_mutexattr_init(a) pthread_mutexattr_create(a)
@@ -22,6 +23,7 @@
 #  define pthread_condattr_default NULL
 #endif /* OLD_PTHREADS_API */
 #endif
+#endif
 
 #ifdef PTHREADS_CREATED_JOINABLE
 #  define ATTR_JOINABLE PTHREAD_CREATE_JOINABLE
 #endif
 
 #ifndef YIELD
-#  ifdef HAS_PTHREAD_YIELD
-#    define YIELD pthread_yield()
-#  else
+#  ifdef HAS_SCHED_YIELD
 #    define YIELD sched_yield()
+#  else
+#    ifdef HAS_PTHREAD_YIELD
+#      define YIELD pthread_yield()
+#    endif
 #  endif
 #endif
 
@@ -217,6 +221,8 @@ typedef struct condpair {
 #define COND_BROADCAST(c)
 #define COND_WAIT(c, m)
 #define COND_DESTROY(c)
+#define LOCK_SV_MUTEX
+#define UNLOCK_SV_MUTEX
 
 #define THR
 /* Rats: if dTHR is just blank then the subsequent ";" throws an error */