summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortgoodwin <tgoodwin>1998-02-19 13:27:48 +0000
committerToby Goodwin <toby@paccrat.org>2015-05-16 21:23:04 +0100
commit9a73d57745c20ce30e630a2200885e1f0b023a64 (patch)
tree65fa945f25e39e21075d060270c8639ec7c4c54d
parent047445c483a321852b4e595ef47a1dc84aaef617 (diff)
abandon waitforall() if rc_wait4() returns with errno == EINTR
-rw-r--r--wait.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/wait.c b/wait.c
index 68dc567..b53df71 100644
--- a/wait.c
+++ b/wait.c
@@ -117,8 +117,11 @@ extern void waitforall() {
pid_t pid = rc_wait4(plist->pid, &stat, FALSE);
if (pid > 0)
setstatus(pid, stat);
- else
+ else {
set(FALSE);
+ if (errno == EINTR)
+ return;
+ }
sigchk();
}
}