#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 }