
What will happen if I call getProcessExitCode for the same process twice? Will that block? Cause an error? Or return the same child's exit code again? I assume the function is (under Unix) based on wait(2), right? In that case, how does the following warning from the manual page translate to Haskell? ERRORS ECHILD if the process specified in pid does not exist or is not a child of the calling process. (This can happen for one's own child if the action for SIGCHLD is set to SIG_IGN. See also the LINUX NOTES section about threads.) The reason I am asking is because I want to avoid zombie processes by doing a "catch-all" getProcessExitCode for every process I spawn through a finalizer. I'd just like to know whether it's safe before I do it. :-) Peter