Return to popen.c CVS log | Up to [local] / src / usr.bin / mail |
version 1.17, 1998/06/12 17:51:53 | version 1.18, 1998/06/12 18:07:58 | ||
---|---|---|---|
|
|
||
int status; | int status; | ||
struct child *cp; | struct child *cp; | ||
int save_errno = errno; | int save_errno = errno; | ||
sigset_t set, oset; | |||
(void)sigfillset(&set); | |||
(void)sigprocmask(SIG_BLOCK, &set, &oset); | |||
while ((pid = | while ((pid = | ||
waitpid((pid_t)-1, &status, WNOHANG)) > 0) { | waitpid((pid_t)-1, &status, WNOHANG)) > 0) { | ||
cp = findchild(pid, 1); | cp = findchild(pid, 1); | ||
|
|
||
cp->status = status; | cp->status = status; | ||
} | } | ||
} | } | ||
(void)sigprocmask(SIG_SETMASK, &oset, NULL); | |||
errno = save_errno; | errno = save_errno; | ||
} | } | ||