summaryrefslogtreecommitdiff
path: root/win32/perlhost.h
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1999-12-03 05:20:21 +0000
committerGurusamy Sarathy <gsar@cpan.org>1999-12-03 05:20:21 +0000
commit8454a2bad3d8b9699d8e0ffa06707b46e0688c78 (patch)
tree424468d91cbc38b7e81f2807ca3a19dfa1297897 /win32/perlhost.h
parent9cf41c4d23a47c8bb8d2f4c27aefdb791b0eaa0b (diff)
downloadperl-8454a2bad3d8b9699d8e0ffa06707b46e0688c78.tar.gz
Windows build tweaks due to change#4623
p4raw-link: @4623 on //depot/perl: 9426adcd48655815b65cea5a9f1eebbe7e23a9df p4raw-id: //depot/perl@4625
Diffstat (limited to 'win32/perlhost.h')
-rw-r--r--win32/perlhost.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/win32/perlhost.h b/win32/perlhost.h
index 236a97c00b..dcc8adba5e 100644
--- a/win32/perlhost.h
+++ b/win32/perlhost.h
@@ -1611,6 +1611,7 @@ PerlProcSignal(struct IPerlProc* piPerl, int sig, Sighandler_t subcode)
return 0;
}
+#ifdef USE_ITHREADS
static DWORD WINAPI
win32_start_child(LPVOID arg)
{
@@ -1697,11 +1698,13 @@ restart:
return (DWORD)status;
#endif
}
+#endif /* USE_ITHREADS */
int
PerlProcFork(struct IPerlProc* piPerl)
{
dTHXo;
+#ifdef USE_ITHREADS
DWORD id;
HANDLE handle;
CPerlHost *h = new CPerlHost();
@@ -1716,10 +1719,10 @@ PerlProcFork(struct IPerlProc* piPerl)
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);
@@ -1728,8 +1731,12 @@ PerlProcFork(struct IPerlProc* piPerl)
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