X-Git-Url: https://git.distorted.org.uk/~mdw/secnet/blobdiff_plain/39a6b1e27fba043e9f988fa10f76ea68b796cbfd..d613fd78298a9911b7917c06f3ea11de45462e76:/process.c diff --git a/process.c b/process.c index a9ff3d9..78d6536 100644 --- a/process.c +++ b/process.c @@ -183,11 +183,7 @@ static beforepoll_fn signal_beforepoll; static int signal_beforepoll(void *st, struct pollfd *fds, int *nfds_io, int *timeout_io) { - if (*nfds_io<1) { - *nfds_io=1; - return ERANGE; - } - *nfds_io=1; + BEFOREPOLL_WANT_FDS(1); fds[0].fd=spr; fds[0].events=POLLIN; return 0; @@ -310,9 +306,7 @@ void start_signal_handling(void) sigemptyset(®istered); sigemptyset(&pending); - if (pipe(p)!=0) { - fatal_perror("start_signal_handling: pipe"); - } + pipe_cloexec(p); spw=p[1]; spr=p[0]; if (fcntl(spw, F_SETFL, fcntl(spw, F_GETFL)|O_NONBLOCK)==-1) {