This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
regcomp.c: regpiece: Consolidate code
[perl5.git] / thread.h
index 869d294..e695889 100644 (file)
--- a/thread.h
+++ b/thread.h
@@ -16,8 +16,7 @@
 
 #ifdef WIN32
 #  include <win32thread.h>
-#else
-#ifdef NETWARE
+#elif defined(NETWARE)
 #  include <nw5thread.h>
 #else
 #  ifdef OLD_PTHREADS_API /* Here be dragons. */
@@ -71,7 +70,6 @@
 #    define pthread_mutexattr_default NULL
 #    define pthread_condattr_default  NULL
 #  endif
-#endif /* NETWARE */
 #endif
 
 #ifndef PTHREAD_CREATE
        *c = 0;                                                 \
     } STMT_END
 
-#define THREAD_CREATE(thr, f)  (thr->self = cthread_fork(f, thr), 0)
-#define THREAD_POST_CREATE(thr)        NOOP
-
 #define THREAD_RET_TYPE                any_t
-#define THREAD_RET_CAST(x)     ((any_t) x)
 
 #define DETACH(t)              cthread_detach(t->self)
 #define JOIN(t, avp)           (*(avp) = MUTABLE_AV(cthread_join(t->self)))
 #ifndef YIELD
 #  ifdef SCHED_YIELD
 #    define YIELD SCHED_YIELD
-#  else
-#    ifdef HAS_SCHED_YIELD
-#      define YIELD sched_yield()
-#    else
-#      ifdef HAS_PTHREAD_YIELD
+#  elif defined(HAS_SCHED_YIELD)
+#    define YIELD sched_yield()
+#  elif defined(HAS_PTHREAD_YIELD)
     /* pthread_yield(NULL) platforms are expected
      * to have #defined YIELD for themselves. */
-#        define YIELD pthread_yield()
-#      endif
-#    endif
+#    define YIELD pthread_yield()
 #  endif
 #endif
 
 
 #ifndef THREAD_RET_TYPE
 #  define THREAD_RET_TYPE      void *
-#  define THREAD_RET_CAST(p)   ((void *)(p))
 #endif /* THREAD_RET */
 
 #  define LOCK_DOLLARZERO_MUTEX                MUTEX_LOCK(&PL_dollarzero_mutex)