X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=win32%2Fwin32thread.h;h=6f355f09ebba7d21f72ede2548d1ad350d73bbb6;hb=c69f112c145fabe210a7e2c5c2406baeea71af2f;hp=591184b0071b6539c287e257d305e95fa3cf7b9e;hpb=900941544544b9ca5ecbb5e1f24f9c23b3635b68;p=p5sagit%2Fp5-mst-13.2.git diff --git a/win32/win32thread.h b/win32/win32thread.h index 591184b..6f355f0 100644 --- a/win32/win32thread.h +++ b/win32/win32thread.h @@ -108,7 +108,7 @@ typedef THREAD_RET_TYPE thread_func_t(void *); START_EXTERN_C -#if defined(PERLDLL) && (!defined(__BORLANDC__) || defined(_DLL)) +#if defined(PERLDLL) && defined(USE_DECLSPEC_THREAD) && (!defined(__BORLANDC__) || defined(_DLL)) extern __declspec(thread) struct perl_thread *Perl_current_thread; #define SET_THR(t) (Perl_current_thread = t) #define THR Perl_current_thread @@ -116,6 +116,7 @@ extern __declspec(thread) struct perl_thread *Perl_current_thread; #define THR Perl_getTHR() #define SET_THR(t) Perl_setTHR(t) #endif +struct perl_thread; void Perl_alloc_thread_key _((void)); int Perl_thread_create _((struct perl_thread *thr, thread_func_t *fn)); @@ -126,7 +127,7 @@ void Perl_setTHR _((struct perl_thread *t)); END_EXTERN_C #define INIT_THREADS NOOP -#define ALLOC_THREAD_KEY NOOP +#define ALLOC_THREAD_KEY Perl_alloc_thread_key() #define SET_THREAD_SELF(thr) Perl_set_thread_self(thr) #define JOIN(t, avp) \