From: Jarkko Hietaniemi Date: Tue, 2 Mar 1999 23:12:36 +0000 (+0000) Subject: The HP-UX threads patch (change #3028) is needed also here. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=227c31c3430bbf328868bf1f4c9abf171e662db9;p=p5sagit%2Fp5-mst-13.2.git The HP-UX threads patch (change #3028) is needed also here. p4raw-link: @3028 on //depot/maint-5.005/perl: d9761d5fa9df9e662778f8ca3ed55c2e3037a72a p4raw-id: //depot/cfgperl@3052 --- diff --git a/hints/hpux.sh b/hints/hpux.sh index 70250b7..b215335 100644 --- a/hints/hpux.sh +++ b/hints/hpux.sh @@ -237,11 +237,14 @@ EOM # instead of fd_set * (just like 9.X) selecttype='int *' ;; - 11 | 12) # 12 may want upping the _POSIX_C_SOURCE - ccflags="$ccflags -D_POSIX_C_SOURCE=199506L" - libswanted="$libswanted pthread" + 11 | 12) # 12 may want upping the _POSIX_C_SOURCE datestamp... + ccflags=" -D_POSIX_C_SOURCE=199506L $ccflags" + set `echo X "$libswanted "| sed -e 's/ c / pthread c /'` + shift + libswanted="$*" ;; esac + usemymalloc='n' ;; esac EOCBU 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))) \