summaryrefslogtreecommitdiff
path: root/win32/win32thread.c
diff options
context:
space:
mode:
authorNick Ing-Simmons <nik@tiuk.ti.com>1997-11-29 01:35:45 +0000
committerNick Ing-Simmons <nik@tiuk.ti.com>1997-11-29 01:35:45 +0000
commitc69f112c145fabe210a7e2c5c2406baeea71af2f (patch)
treef99acaeffc5cdd4e8b5cd9931d8e74da85deb578 /win32/win32thread.c
parent900941544544b9ca5ecbb5e1f24f9c23b3635b68 (diff)
downloadperl-c69f112c145fabe210a7e2c5c2406baeea71af2f.tar.gz
GCC + Threads on Win32 - best gcc results yet
p4raw-id: //depot/ansiperl@331
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