From 90866323e988eded2d449f93e3ad86d3d1542814 Mon Sep 17 00:00:00 2001 From: Ilya Zakharevich Date: Mon, 3 May 1999 18:38:50 -0400 Subject: Quickier thread-specific data on OS/2 Message-Id: <199905040238.WAA01865@monk.mps.ohio-state.edu> p4raw-id: //depot/perl@3369 --- os2/os2ish.h | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'os2/os2ish.h') diff --git a/os2/os2ish.h b/os2/os2ish.h index 97b489b40d..cfd13c8335 100644 --- a/os2/os2ish.h +++ b/os2/os2ish.h @@ -148,10 +148,17 @@ extern int rc; #define dTHR struct thread *thr = THR */ -#define pthread_getspecific(k) (*_threadstore()) -#define pthread_setspecific(k,v) (*_threadstore()=v,0) +#ifdef USE_SLOW_THREAD_SPECIFIC +# define pthread_getspecific(k) (*_threadstore()) +# define pthread_setspecific(k,v) (*_threadstore()=v,0) +# define pthread_key_create(keyp,flag) (*keyp=_gettid(),0) +#else +# define pthread_getspecific(k) (*(k)) +# define pthread_setspecific(k,v) (*(k)=(v),0) +# define pthread_key_create(keyp,flag) (DosAllocThreadLocalMemory(1,(U32*)keyp) ? croak("LocalMemory"),1 : 0) +#endif +#define pthread_key_delete(keyp) #define pthread_self() _gettid() -#define pthread_key_create(keyp,flag) (*keyp=_gettid(),0) #define YIELD DosSleep(0) #ifdef PTHREADS_INCLUDED /* For ./x2p stuff. */ -- cgit v1.2.1