From 32d696aff631005a142dee44387f002fedf40d3e Mon Sep 17 00:00:00 2001 From: simonmar Date: Mon, 7 Mar 2005 10:40:44 +0000 Subject: [PATCH] [project @ 2005-03-07 10:40:44 by simonmar] merge rev. 1.4.2.1 to HEAD --- cbits/runProcess.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/cbits/runProcess.c b/cbits/runProcess.c index 8358605..82fa97e 100644 --- a/cbits/runProcess.c +++ b/cbits/runProcess.c @@ -153,11 +153,11 @@ terminateProcess (ProcHandle handle) int getProcessExitCode (ProcHandle handle, int *pExitCode) { - int wstat; + int wstat, res; *pExitCode = 0; - if (waitpid(handle, &wstat, WNOHANG) > 0) + if ((res = waitpid(handle, &wstat, WNOHANG)) > 0) { if (WIFEXITED(wstat)) { @@ -176,7 +176,15 @@ getProcessExitCode (ProcHandle handle, int *pExitCode) } } - return 0; + if (res == 0) return 0; + + if (errno == ECHILD) + { + *pExitCode = 0; + return 1; + } + + return -1; } int waitForProcess (ProcHandle handle) -- 1.7.10.4