return 0;
}
+#ifdef USE_ITHREADS
static DWORD WINAPI
win32_start_child(LPVOID arg)
{
return (DWORD)status;
#endif
}
+#endif /* USE_ITHREADS */
int
PerlProcFork(struct IPerlProc* piPerl)
{
dTHXo;
+#ifdef USE_ITHREADS
DWORD id;
HANDLE handle;
CPerlHost *h = new CPerlHost();
h->m_pHostperlSock,
h->m_pHostperlProc
);
-#ifdef PERL_SYNC_FORK
+# ifdef PERL_SYNC_FORK
id = win32_start_child((LPVOID)new_perl);
PERL_SET_INTERP(aTHXo);
-#else
+# else
handle = CreateThread(NULL, 0, win32_start_child,
(LPVOID)new_perl, 0, &id);
PERL_SET_INTERP(aTHXo);
w32_pseudo_child_handles[w32_num_pseudo_children] = handle;
w32_pseudo_child_pids[w32_num_pseudo_children] = id;
++w32_num_pseudo_children;
-#endif
+# endif
return -(int)id;
+#else
+ Perl_croak(aTHX_ "fork() not implemented!\n");
+ return -1;
+#endif /* USE_ITHREADS */
}
int