From: Rusty Russell Date: Sun, 4 Feb 2018 23:31:51 +0000 (+1030) Subject: io: don't fail if we get a signal. X-Git-Url: https://git.ozlabs.org/?a=commitdiff_plain;h=e2d15a2bcb78dba323c4a807543fcc0cb1b03ef0;p=ccan io: don't fail if we get a signal. Signed-off-by: Rusty Russell --- diff --git a/ccan/io/poll.c b/ccan/io/poll.c index 3354abe0..b005a97e 100644 --- a/ccan/io/poll.c +++ b/ccan/io/poll.c @@ -280,8 +280,13 @@ void *io_loop(struct timers *timers, struct timer **expired) } r = pollfn(pollfds, num_fds, ms_timeout); - if (r < 0) + if (r < 0) { + /* Signals shouldn't break us, unless they set + * io_loop_return. */ + if (errno == EINTR) + continue; break; + } for (i = 0; i < num_fds && !io_loop_return; i++) { struct io_conn *c = (void *)fds[i];