diff options
author | Todd C. Miller <millert@cvs.openbsd.org> | 2002-01-14 16:50:19 +0000 |
---|---|---|
committer | Todd C. Miller <millert@cvs.openbsd.org> | 2002-01-14 16:50:19 +0000 |
commit | 3030ff50b6ca0c287da0c235f239f086b505e9a6 (patch) | |
tree | b70e40b5a718f901a3b5e2494c99063ff03a6c4f /lib/libc | |
parent | ac4acecf7a6743a813c81fc53dbb940c6f1615a8 (diff) |
If waitpid() return ECHILD that should not be a fatal error since
someone else could have waited for the process or zombies could be
disabled via SIG_IGN or SA_NOCLDWAIT.
Diffstat (limited to 'lib/libc')
-rw-r--r-- | lib/libc/gen/auth_subr.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/libc/gen/auth_subr.c b/lib/libc/gen/auth_subr.c index bfce363263a..0e29e4c79b4 100644 --- a/lib/libc/gen/auth_subr.c +++ b/lib/libc/gen/auth_subr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth_subr.c,v 1.6 2001/07/02 19:22:34 millert Exp $ */ +/* $OpenBSD: auth_subr.c,v 1.7 2002/01/14 16:50:18 millert Exp $ */ /*- * Copyright (c) 1995,1996,1997 Berkeley Software Design, Inc. @@ -833,12 +833,12 @@ auth_call(auth_session_t *as, char *path, ...) _auth_spool(as, pfd[0]); close(pfd[0]); if (waitpid(pid, &status, 0) < 0) { - syslog(LOG_ERR, "%s: waitpid: %m", path); - _warnx("internal failure"); - goto fail; - } - - if (!WIFEXITED(status)) + if (errno != ECHILD) { + syslog(LOG_ERR, "%s: waitpid: %m", path); + _warnx("internal failure"); + goto fail; + } + } else if (!WIFEXITED(status)) goto fail; } |