From bc3b3e300faa5de72d51e64e5785b39f17604deb Mon Sep 17 00:00:00 2001 From: Sven Eckelmann Date: Wed, 20 Dec 2017 14:17:35 +0100 Subject: [PATCH] gluon-radv-filterd: Don't kill daemon when select is interrupted The select can be interrupted when it receives a signal. But the signal might be handled and thus it should not result in an kill. Signed-off-by: Sven Eckelmann --- package/gluon-radv-filterd/src/gluon-radv-filterd.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/package/gluon-radv-filterd/src/gluon-radv-filterd.c b/package/gluon-radv-filterd/src/gluon-radv-filterd.c index 75f213d9..e47ea543 100644 --- a/package/gluon-radv-filterd/src/gluon-radv-filterd.c +++ b/package/gluon-radv-filterd/src/gluon-radv-filterd.c @@ -635,9 +635,10 @@ int main(int argc, char *argv[]) { tv.tv_usec = 0; retval = select(G.sock + 1, &rfds, NULL, NULL, &tv); - if (retval < 0) - exit_errno("select() failed"); - else if (retval) { + if (retval < 0) { + if (errno != EINTR) + exit_errno("select() failed"); + } else if (retval) { if (FD_ISSET(G.sock, &rfds)) { handle_ra(G.sock); }