aboutsummaryrefslogtreecommitdiffstats
path: root/lib/System
diff options
context:
space:
mode:
Diffstat (limited to 'lib/System')
-rw-r--r--lib/System/Unix/Program.inc6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/System/Unix/Program.inc b/lib/System/Unix/Program.inc
index 033a8a4..91baefb 100644
--- a/lib/System/Unix/Program.inc
+++ b/lib/System/Unix/Program.inc
@@ -242,9 +242,11 @@ Program::ExecuteAndWait(const Path& path,
// Wait for child to die
if (wait(&status) != child)
MakeErrMsg(ErrMsg, "Child timed out but wouldn't die");
-
+ else
+ MakeErrMsg(ErrMsg, "Child timed out", 0);
+
return -1; // Timeout detected
- } else {
+ } else if (errno != EINTR) {
MakeErrMsg(ErrMsg, "Error waiting for child process");
return -1;
}