diff options
Diffstat (limited to 'src/libstddjb')
-rw-r--r-- | src/libstddjb/child_spawn_workaround.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libstddjb/child_spawn_workaround.c b/src/libstddjb/child_spawn_workaround.c index 00f8553..516ade5 100644 --- a/src/libstddjb/child_spawn_workaround.c +++ b/src/libstddjb/child_spawn_workaround.c @@ -25,7 +25,7 @@ pid_t child_spawn_workaround (pid_t pid, int const *p) if (r == -1) return 0 ; if (r) return (errno = EILSEQ, 0) ; /* child wrote, wtf */ - do e = waitid(P_PID, pid, &si, WNOHANG | WNOWAIT) ; + do e = waitid(P_PID, pid, &si, WEXITED | WNOHANG | WNOWAIT) ; while (e == -1 && errno == EINTR) ; if (e == -1) return pid ; /* we're in trouble, but don't leak a child */ if (!si.si_pid) return pid ; /* child is running */ |