allow '*' prototype to autoquote even barewords that happen to be
[p5sagit/p5-mst-13.2.git] / thread.h
index 695f288..882158c 100644 (file)
--- a/thread.h
+++ b/thread.h
@@ -136,12 +136,26 @@ struct perl_thread *getTHR _((void));
 #  endif
 #endif
 
+#ifdef __hpux
+#  define MUTEX_INIT_NEEDS_MUTEX_ZEROED
+#endif
+
 #ifndef MUTEX_INIT
+#ifdef MUTEX_INIT_NEEDS_MUTEX_ZEROED
+    /* Temporary workaround, true bug is deeper. --jhi 1999-02-25 */
+#define MUTEX_INIT(m)                                          \
+    STMT_START {                                               \
+       Zero((m), 1, perl_mutex);                               \
+       if (pthread_mutex_init((m), pthread_mutexattr_default)) \
+           croak("panic: MUTEX_INIT");                         \
+    } STMT_END
+#else
 #define MUTEX_INIT(m)                                          \
     STMT_START {                                               \
        if (pthread_mutex_init((m), pthread_mutexattr_default)) \
            croak("panic: MUTEX_INIT");                         \
     } STMT_END
+#endif
 #define MUTEX_LOCK(m)                          \
     STMT_START {                               \
        if (pthread_mutex_lock((m)))            \