Commit 23e7d765 authored by sof's avatar sof

[project @ 1998-01-26 18:24:05 by sof]

cygwin32: Use `native' system() instead of fork() & execl()
parent 8a98445c
......@@ -24,6 +24,21 @@ StgInt
systemCmd(cmd)
StgByteArray cmd;
{
#if defined(cygwin32_TARGET_OS)
/* The implementation of std. fork() has its problems
under cygwin32-b18, so we fall back on using libc's
system() instead. (It in turn has problems, as it
does not wait until the sub shell has finished before
returning. Using sleep() works around that.)
*/
if (system(cmd) < 0) {
cvtErrno();
stdErrno();
return -1;
}
sleep(1);
return 0;
#else
int pid;
int wstat;
......@@ -60,6 +75,7 @@ StgByteArray cmd;
ghc_errstr = "internal error (process neither exited nor signalled)";
}
return -1;
#endif /* ! cygwin32_TARGET_OS */
}
\end{code}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment