X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=thread.h;h=00e4d76d6a45f88536c36d180efaee72b5cd3a59;hb=21cc0ee11981dcdd558daaf05644e1cba1f82feb;hp=1d331616b714d6b5a5d1a92e49d29f3b0318b1b9;hpb=3db8f154c4c6e098a5a0bdf7932e8f86fbd2c451;p=p5sagit%2Fp5-mst-13.2.git diff --git a/thread.h b/thread.h index 1d33161..00e4d76 100644 --- a/thread.h +++ b/thread.h @@ -1,6 +1,6 @@ /* thread.h * - * Copyright (c) 1997-2002, Larry Wall + * Copyright (C) 1999, 2000, 2001, 2002, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. @@ -40,6 +40,11 @@ # ifdef __OPEN_VM # define pthread_addr_t void * # endif +# ifdef OEMVS +# define pthread_addr_t void * +# define pthread_create(t,a,s,d) pthread_create(t,&(a),s,d) +# define pthread_keycreate pthread_key_create +# endif # ifdef VMS # define pthread_attr_init(a) pthread_attr_create(a) # define PTHREAD_ATTR_SETDETACHSTATE(a,s) pthread_setdetach_np(a,s) @@ -57,7 +62,7 @@ # define pthread_mutexattr_init(a) pthread_mutexattr_create(a) # define pthread_mutexattr_settype(a,t) pthread_mutexattr_setkind_np(a,t) # endif -# if defined(DJGPP) || defined(__OPEN_VM) +# if defined(DJGPP) || defined(__OPEN_VM) || defined(OEMVS) # define PTHREAD_ATTR_SETDETACHSTATE(a,s) pthread_attr_setdetachstate(a,&(s)) # define YIELD pthread_yield(NULL) # endif @@ -273,7 +278,7 @@ #ifdef HAS_PTHREAD_UNCHECKED_GETSPECIFIC_NP # define PTHREAD_GETSPECIFIC(key) pthread_unchecked_getspecific_np(key) #else -# define PTHREAD_GETSPECIFIC(key) pthread_getspecific(key) +# define PTHREAD_GETSPECIFIC(key) pthread_getspecific(key) #endif #ifndef PERL_GET_CONTEXT @@ -326,6 +331,9 @@ # define THREAD_RET_CAST(p) ((void *)(p)) #endif /* THREAD_RET */ +# define LOCK_DOLLARZERO_MUTEX MUTEX_LOCK(&PL_dollarzero_mutex) +# define UNLOCK_DOLLARZERO_MUTEX MUTEX_UNLOCK(&PL_dollarzero_mutex) + #endif /* USE_ITHREADS */ #ifndef MUTEX_LOCK @@ -404,6 +412,14 @@ # define UNLOCK_SV_LOCK_MUTEX #endif +#ifndef LOCK_DOLLARZERO_MUTEX +# define LOCK_DOLLARZERO_MUTEX +#endif + +#ifndef UNLOCK_DOLLARZERO_MUTEX +# define UNLOCK_DOLLARZERO_MUTEX +#endif + /* THR, SET_THR, and dTHR are there for compatibility with old versions */ #ifndef THR # define THR PERL_GET_THX