From 6734d5281b0eff7a390a50a813edc8abeefc2e2e Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Tue, 5 Sep 2017 10:34:05 +0100 Subject: [PATCH 1/1] uslip/uslip.c: Be more reliable about tidying up. Trap `SIGHUP' because shells sometimes send it to us during testing; and don't give up on select(2) because of `EINTR'. --- uslip/uslip.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/uslip/uslip.c b/uslip/uslip.c index 66cc0797..629da123 100644 --- a/uslip/uslip.c +++ b/uslip/uslip.c @@ -605,6 +605,7 @@ static void slipif(void) sig_init(&sel); sig_add(&term, SIGTERM, slip_term, &fd); + sig_add(&term, SIGHUP, slip_term, &fd); sig_add(&term, SIGINT, slip_term, &fd); initqueue(&q_in); @@ -620,7 +621,7 @@ static void slipif(void) /* --- Main loop --- */ while (reasons) { - if (sel_select(&sel)) + if (sel_select(&sel) && errno != EINTR) die(EXIT_FAILURE, "select: %s", strerror(errno)); } -- 2.11.0