diff perl-5.22.2/win32/win32thread.c @ 8045:a16537d2fe07

<xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
author HackBot
date Sat, 14 May 2016 14:54:38 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/perl-5.22.2/win32/win32thread.c	Sat May 14 14:54:38 2016 +0000
@@ -0,0 +1,37 @@
+#include "EXTERN.h"
+#include "perl.h"
+
+#ifdef USE_DECLSPEC_THREAD
+__declspec(thread) void *PL_current_context = NULL;
+#endif
+
+void
+Perl_set_context(void *t)
+{
+#if defined(USE_ITHREADS)
+#  ifdef USE_DECLSPEC_THREAD
+    Perl_current_context = t;
+#  else
+    DWORD err = GetLastError();
+    TlsSetValue(PL_thr_key,t);
+    SetLastError(err);
+#  endif
+#endif
+}
+
+void *
+Perl_get_context(void)
+{
+#if defined(USE_ITHREADS)
+#  ifdef USE_DECLSPEC_THREAD
+    return Perl_current_context;
+#  else
+    DWORD err = GetLastError();
+    void *result = TlsGetValue(PL_thr_key);
+    SetLastError(err);
+    return result;
+#  endif
+#else
+    return NULL;
+#endif
+}