diff options
Diffstat (limited to 'lib/System')
-rw-r--r-- | lib/System/Unix/Program.inc | 6 |
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; } |