diff options
author | green <green@FreeBSD.org> | 2004-04-20 22:04:12 +0000 |
---|---|---|
committer | green <green@FreeBSD.org> | 2004-04-20 22:04:12 +0000 |
commit | 2f31d4ad3c6b94274bb8e55535e7bc9f9004cd9f (patch) | |
tree | 5e6fce3dfe57abba541ee04e2663cb70c27f4cca /usr.bin | |
parent | dddaa5bce945b470ddb2cfbf3dd6cf61c3751dda (diff) | |
download | FreeBSD-src-2f31d4ad3c6b94274bb8e55535e7bc9f9004cd9f.zip FreeBSD-src-2f31d4ad3c6b94274bb8e55535e7bc9f9004cd9f.tar.gz |
Treat kevent(2) returning an error EINTR as the non-error it is.
Diffstat (limited to 'usr.bin')
-rw-r--r-- | usr.bin/make/job.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/usr.bin/make/job.c b/usr.bin/make/job.c index 59f3ec9..4f43e7f 100644 --- a/usr.bin/make/job.c +++ b/usr.bin/make/job.c @@ -1263,7 +1263,7 @@ JobExec(Job *job, char **argv) NOTE_EXIT, 0, NULL); if (kevent(kqfd, kev, 2, NULL, 0, NULL) != 0) { /* kevent() will fail if the job is already finished */ - if (errno != EBADF && errno != ESRCH) + if (errno != EINTR && errno != EBADF && errno != ESRCH) Punt("kevent: %s", strerror(errno)); } #else @@ -2250,7 +2250,8 @@ Job_CatchOutput(void) if (usePipes) { #ifdef USE_KQUEUE if ((nfds = kevent(kqfd, NULL, 0, kev, KEV_SIZE, NULL)) == -1) { - Punt("kevent: %s", strerror(errno)); + if (errno != EINTR) + Punt("kevent: %s", strerror(errno)); } else { for (i = 0; i < nfds; i++) { if (kev[i].flags & EV_ERROR) { |