From: Dan Sugalski Date: Wed, 16 May 2001 18:05:19 +0000 (-0400) Subject: Quick thread speedup X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=bce813aac1160c79546da18348b6e6d4f2d4e476;p=p5sagit%2Fp5-mst-13.2.git Quick thread speedup Message-Id: <5.1.0.14.0.20010516175826.01afde08@24.8.96.48> p4raw-id: //depot/perl@10141 --- diff --git a/thread.h b/thread.h index 99269a1..87e8974 100644 --- a/thread.h +++ b/thread.h @@ -250,7 +250,12 @@ #endif /* JOIN */ #ifndef PERL_GET_CONTEXT -# define PERL_GET_CONTEXT pthread_getspecific(PL_thr_key) +/* True for Tru64 version 4.0 and up as well */ +# if defined(__ALPHA) && (__VMS_VER >= 70000000) +# define PERL_GET_CONTEXT pthread_unchecked_getspecific_np(PL_thr_key) +# else +# define PERL_GET_CONTEXT pthread_getspecific(PL_thr_key) +# endif #endif #ifndef PERL_SET_CONTEXT diff --git a/util.c b/util.c index 720bcf0..848a61e 100644 --- a/util.c +++ b/util.c @@ -3489,10 +3489,14 @@ Perl_get_context(void) Perl_croak_nocontext("panic: pthread_getspecific"); return (void*)t; # else -# ifdef I_MACH_CTHREADS - return (void*)cthread_data(cthread_self()); -# else - return (void*)pthread_getspecific(PL_thr_key); +# ifdef I_MACH_CTHREADS + return (void*)cthread_data(cthread_self()); +# else +# if defined(__ALPHA) && (__VMS_VER >= 70000000) + return (void*)pthread_unchecked_getspecific_np(PL_thr_key); +# else + return (void*)pthread_getspecific(PL_thr_key); +# endif # endif # endif #else