X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=win32%2Fwin32thread.h;h=c6f93097ffa14f453a93f3297843477212b0a97c;hb=cc61921f0ae7ed05d56abbd690cb97eea560d4a9;hp=809e0f721246586b1430cd6d6481ee239d2fe552;hpb=efc57feb990d7c1543c73387ff9802db712d8581;p=p5sagit%2Fp5-mst-13.2.git diff --git a/win32/win32thread.h b/win32/win32thread.h index 809e0f7..c6f9309 100644 --- a/win32/win32thread.h +++ b/win32/win32thread.h @@ -55,7 +55,7 @@ typedef HANDLE perl_mutex; #define COND_INIT(c) \ STMT_START { \ (c)->waiters = 0; \ - (c)->sem = CreateSemaphore(NULL,0,LONG_MAX,NULL); \ + (c)->sem = Win_CreateSemaphore(NULL,0,LONG_MAX,NULL); \ if ((c)->sem == NULL) \ Perl_croak_nocontext("panic: COND_INIT (%ld)",GetLastError()); \ } STMT_END @@ -154,27 +154,24 @@ extern __declspec(thread) void *PL_current_context; #define PERL_SET_CONTEXT(t) Perl_set_context(t) #endif -#if defined(USE_THREADS) -struct perl_thread; -int Perl_thread_create (struct perl_thread *thr, thread_func_t *fn); -void Perl_set_thread_self (struct perl_thread *thr); -void Perl_init_thread_intern (struct perl_thread *t); - -#define SET_THREAD_SELF(thr) Perl_set_thread_self(thr) - -#endif /* USE_THREADS */ - END_EXTERN_C #define INIT_THREADS NOOP #define ALLOC_THREAD_KEY \ STMT_START { \ if ((PL_thr_key = TlsAlloc()) == TLS_OUT_OF_INDEXES) { \ - fprintf(stderr,"panic: TlsAlloc"); \ + PerlIO_printf(PerlIO_stderr(),"panic: TlsAlloc"); \ exit(1); \ } \ } STMT_END +#define FREE_THREAD_KEY \ + STMT_START { \ + TlsFree(PL_thr_key); \ + } STMT_END + +#define PTHREAD_ATFORK(prepare,parent,child) NOOP + #if defined(USE_RTL_THREAD_API) && !defined(_MSC_VER) #define JOIN(t, avp) \ STMT_START { \