>From signal(2) The behavior of signal() varies across UNIX versions, and has also var‐ ied historically across different versions of Linux. Avoid its use: use sigaction(2) instead. See Portability below. Replaced signal() with sigaction() in daemon.c run_service() Signed-off-by: Jeremiah Mahler <jmmahler@xxxxxxxxx> --- daemon.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/daemon.c b/daemon.c index eba1255..78c4a1c 100644 --- a/daemon.c +++ b/daemon.c @@ -322,6 +322,7 @@ static int run_service(char *dir, struct daemon_service *service) { const char *path; int enabled = service->enabled; + struct sigaction sa; loginfo("Request %s for '%s'", service->name, dir); @@ -376,7 +377,9 @@ static int run_service(char *dir, struct daemon_service *service) * We'll ignore SIGTERM from now on, we have a * good client. */ - signal(SIGTERM, SIG_IGN); + memset(&sa, 0, sizeof(sa)); + sa.sa_handler = SIG_IGN; + sigaction(SIGTERM, &sa, 0); return service->fn(); } -- 2.0.0.rc4.6.g127602c -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html