From b2c7bf111c1446739af9411d8a35acd9b6581b06 Mon Sep 17 00:00:00 2001 From: James Laird Date: Sun, 27 Oct 2013 10:17:46 +1100 Subject: [PATCH] do not restart syscalls on SIGUSR1 SIGUSR1 is used to interrupt calls and shut down cleanly. --- shairport.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/shairport.c b/shairport.c index a37bb7e2..b05ace37 100644 --- a/shairport.c +++ b/shairport.c @@ -196,10 +196,11 @@ void signal_setup(void) { // setting this to SIG_IGN would prevent signalling any threads. struct sigaction sa; memset(&sa, 0, sizeof(sa)); - sa.sa_flags = SA_SIGINFO | SA_RESTART; + sa.sa_flags = SA_SIGINFO; sa.sa_sigaction = &sig_ignore; sigaction(SIGUSR1, &sa, NULL); + sa.sa_flags = SA_SIGINFO | SA_RESTART; sa.sa_sigaction = &sig_shutdown; sigaction(SIGINT, &sa, NULL); sigaction(SIGTERM, &sa, NULL);