X-Git-Url: https://git.distorted.org.uk/~mdw/secnet/blobdiff_plain/39a6b1e27fba043e9f988fa10f76ea68b796cbfd..6f146b5d44db84d647d18805ca58586e1555a0a4:/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) {