#include "perl.h"
#include "XSUB.h"
+#ifdef USE_ITHREADS
+
#ifdef WIN32
#include <windows.h>
#include <win32thread.h>
MUTEX_UNLOCK(&create_destruct_mutex);
/* Thread is now disowned */
if (thread->interp) {
- dTHXa(thread->interp);
PERL_SET_CONTEXT(thread->interp);
perl_destruct(thread->interp);
perl_free(thread->interp);
{
static pthread_attr_t attr;
static int attr_inited = 0;
- sigset_t fullmask, oldmask;
static int attr_joinable = PTHREAD_CREATE_JOINABLE;
if (!attr_inited) {
attr_inited = 1;
sv_unmagic(SvRV(sv),PERL_MAGIC_shared_scalar);
}
-
+#endif /* USE_ITHREADS */
MODULE = threads PACKAGE = threads PREFIX = ithread_
PROTOTYPES: DISABLE
+#ifdef USE_ITHREADS
+
void
ithread_new (classname, function_to_call, ...)
char * classname
void
ithread_DESTROY(SV *thread)
+#endif /* USE_ITHREADS */
+
BOOT:
{
+#ifdef USE_ITHREADS
ithread* thread;
PL_perl_destruct_level = 2;
PERL_THREAD_ALLOC_SPECIFIC(self_key);
PERL_THREAD_SETSPECIFIC(self_key,thread);
MUTEX_UNLOCK(&create_destruct_mutex);
+#endif /* USE_ITHREADS */
}