X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=thread.h;h=882158cdbbd9cad239818f646a22f0b4aa2f8434;hb=18228614d1dac2db099ef3d8846e53f44accce72;hp=695f288c4bc314532cbfc0d4cb1645a341ae75d0;hpb=ef4af2bec631b9236810b0b0f271e06119e370e6;p=p5sagit%2Fp5-mst-13.2.git diff --git a/thread.h b/thread.h index 695f288..882158c 100644 --- 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))) \