diff options
Diffstat (limited to 'src/libstddjb/wait_nointr.c')
| -rw-r--r-- | src/libstddjb/wait_nointr.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/libstddjb/wait_nointr.c b/src/libstddjb/wait_nointr.c index 4e7a17a..6b7d606 100644 --- a/src/libstddjb/wait_nointr.c +++ b/src/libstddjb/wait_nointr.c @@ -2,13 +2,15 @@ #include <sys/wait.h> #include <errno.h> + #include <skalibs/djbunix.h> pid_t wait_nointr (int *wstat) { + int e = errno ; pid_t r ; - do - r = wait(wstat) ; - while ((r == (pid_t)-1) && (errno == EINTR)) ; + do r = wait(wstat) ; + while (r == (pid_t)-1 && errno == EINTR) ; + if (r >= 0) errno = e ; return r ; } |
