diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2001-05-17 14:21:08 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2001-05-17 14:21:08 +0000 |
commit | 8b8b35abf0ac836d99804d38380d3c236b12c28e (patch) | |
tree | 8398b401d276da300af959ff89349ada6056181d /thread.h | |
parent | 0953243c2ac89e79fe3d39c48a15619486aafea4 (diff) | |
download | perl-8b8b35abf0ac836d99804d38380d3c236b12c28e.tar.gz |
Macrofy the getspecific (and use it also in util.c)
p4raw-id: //depot/perl@10143
Diffstat (limited to 'thread.h')
-rw-r--r-- | thread.h | 19 |
1 files changed, 13 insertions, 6 deletions
@@ -249,15 +249,22 @@ } STMT_END #endif /* JOIN */ -#ifndef PERL_GET_CONTEXT -# if (defined(__ALPHA) && (__VMS_VER >= 70000000)) || (defined(__alpha) && defined(__osf__)) /* Use an unchecked fetch of thread-specific data instead of a checked one. * It would fail if the key were bogus, but if the key were bogus then * Really Bad Things would be happening anyway. --dan */ -# define PERL_GET_CONTEXT pthread_unchecked_getspecific_np(PL_thr_key) -# else -# define PERL_GET_CONTEXT pthread_getspecific(PL_thr_key) -# endif +#if (defined(__ALPHA) && (__VMS_VER >= 70000000)) || + (defined(__alpha) && defined(__osf__)) /* Available only on >= 4.0 */ +# define HAS_PTHREAD_UNCHECKED_GETSPECIFIC_NP /* Configure test needed */ +#endif + +#ifdef HAS_PTHREAD_UNCHECKED_GETSPECIFIC_NP +# define PTHREAD_GETSPECIFIC(key) pthread_unchecked_getspecific_np(key) +#else +# define PTHREAD_GETSPECIFIC(key) pthread_getspecific(key) +#endif + +#ifndef PERL_GET_CONTEXT +# define PERL_GET_CONTEXT PTHREAD_GETSPECIFIC(PL_thr_key) #endif #ifndef PERL_SET_CONTEXT |