attempt to work around restrictions with fork() & pthreads
authorSimon Marlow <simonmar@microsoft.com>
Thu, 23 Mar 2006 13:40:34 +0000 (13:40 +0000)
committerSimon Marlow <simonmar@microsoft.com>
Thu, 23 Mar 2006 13:40:34 +0000 (13:40 +0000)
commit4f4f12e5592420c363a7493cc02c6ed2cd01199f
tree3db74c24ea6e31addba99b31e3dbe6206f59e734
parent4e705b5c9e4d1d48e85856e47ff242a2a45fab0f
attempt to work around restrictions with fork() & pthreads
In the child process, call exec() directly instead of using
System.Cmd.system, which involves another fork()/exec() and a
non-blocking wait.  The problem is that in a forked child of a
threaded process, it isn't safe to do much except exec() according to
POSIX.  In fact calling pthread_create() in the child causes the
pthread library to fail with an error on FreeBSD.
testsuite/timeout/timeout.hs