summaryrefslogtreecommitdiff
path: root/win32/win32thread.c
diff options
context:
space:
mode:
Diffstat (limited to 'win32/win32thread.c')
-rw-r--r--win32/win32thread.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/win32/win32thread.c b/win32/win32thread.c
index 039f8b4b6f..d62dadd1e3 100644
--- a/win32/win32thread.c
+++ b/win32/win32thread.c
@@ -1,18 +1,28 @@
#include "EXTERN.h"
#include "perl.h"
+#ifdef USE_DECLSPEC_THREAD
__declspec(thread) struct perl_thread *Perl_current_thread = NULL;
+#endif
void
Perl_setTHR(struct perl_thread *t)
{
+#ifdef USE_DECLSPEC_THREAD
Perl_current_thread = t;
+#else
+ TlsSetValue(thr_key,t);
+#endif
}
struct perl_thread *
Perl_getTHR(void)
{
+#ifdef USE_DECLSPEC_THREAD
return Perl_current_thread;
+#else
+ return (struct perl_thread *) TlsGetValue(thr_key);
+#endif
}
void