X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=ext%2Fthreads%2Fthreads.h;h=72a4872485e5723d5602c96ea81dddb307168f99;hb=313e3311ff463cfb1de02a3e944a3a32a6497023;hp=01baaa40c6331f9a16aa9b24aed39c2df8153aae;hpb=7f9a95ef4ccdf2b0ea72c8ae7e731ca9572edfac;p=p5sagit%2Fp5-mst-13.2.git diff --git a/ext/threads/threads.h b/ext/threads/threads.h index 01baaa4..72a4872 100755 --- a/ext/threads/threads.h +++ b/ext/threads/threads.h @@ -23,18 +23,24 @@ STMT_START {\ #include #define PERL_THREAD_SETSPECIFIC(k,v) pthread_setspecific(k,v) +#ifdef OLD_PTHREADS_API +#define PERL_THREAD_DETACH(t) pthread_detach(&(t)) +#define PERL_THREAD_GETSPECIFIC(k,v) pthread_getspecific(k,&v) #define PERL_THREAD_ALLOC_SPECIFIC(k) STMT_START {\ - if(pthread_key_create(&(k),0)) {\ + if(pthread_keycreate(&(k),0)) {\ PerlIO_printf(PerlIO_stderr(), "panic threads.h: pthread_key_create");\ exit(1);\ }\ } STMT_END -#ifdef OLD_PTHREADS_API -#define PERL_THREAD_DETACH(t) pthread_detach(&(t)) -#define PERL_THREAD_GETSPECIFIC(k,v) pthread_getspecific(k,&v) #else #define PERL_THREAD_DETACH(t) pthread_detach((t)) #define PERL_THREAD_GETSPECIFIC(k,v) v = pthread_getspecific(k) +#define PERL_THREAD_ALLOC_SPECIFIC(k) STMT_START {\ + if(pthread_key_create(&(k),0)) {\ + PerlIO_printf(PerlIO_stderr(), "panic threads.h: pthread_key_create");\ + exit(1);\ + }\ +} STMT_END #endif #endif