version 1.8, 1997/07/14 00:24:29 |
version 1.9, 1997/07/14 15:56:24 |
|
|
int infd, outfd; |
int infd, outfd; |
{ |
{ |
int i; |
int i; |
sigset_t fset; |
sigset_t eset; |
|
|
/* |
/* |
* All file descriptors other than 0, 1, and 2 are supposed to be |
* All file descriptors other than 0, 1, and 2 are supposed to be |
|
|
} |
} |
if (nset == NULL || !sigismember(nset, SIGINT)) |
if (nset == NULL || !sigismember(nset, SIGINT)) |
(void)signal(SIGINT, SIG_DFL); |
(void)signal(SIGINT, SIG_DFL); |
sigfillset(&fset); |
sigemptyset(&eset); |
(void)sigprocmask(SIG_UNBLOCK, &fset, NULL); |
(void)sigprocmask(SIG_SETMASK, &eset, NULL); |
} |
} |
|
|
int |
int |
|
|
{ |
{ |
sigset_t nset, oset; |
sigset_t nset, oset; |
register struct child *cp = findchild(pid); |
register struct child *cp = findchild(pid); |
|
|
sigemptyset(&nset); |
sigemptyset(&nset); |
sigaddset(&nset, SIGCHLD); |
sigaddset(&nset, SIGCHLD); |
sigprocmask(SIG_BLOCK, &nset, &oset); |
sigprocmask(SIG_BLOCK, &nset, &oset); |
|
|
{ |
{ |
sigset_t nset, oset; |
sigset_t nset, oset; |
register struct child *cp = findchild(pid); |
register struct child *cp = findchild(pid); |
|
|
sigemptyset(&nset); |
sigemptyset(&nset); |
sigaddset(&nset, SIGCHLD); |
sigaddset(&nset, SIGCHLD); |
sigprocmask(SIG_BLOCK, &nset, &oset); |
sigprocmask(SIG_BLOCK, &nset, &oset); |