From: Lennart Poettering Date: Wed, 27 Jan 2010 04:31:53 +0000 (+0100) Subject: trap some signals X-Git-Tag: 0.git+20100605+dfd8ee-1~398 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6632c6023c5f90e15440231500d3431e869e4577;p=systemd trap some signals --- diff --git a/manager.c b/manager.c index a598f124..b3123f2b 100644 --- a/manager.c +++ b/manager.c @@ -44,6 +44,9 @@ Manager* manager_new(void) { assert_se(sigemptyset(&mask) == 0); assert_se(sigaddset(&mask, SIGCHLD) == 0); assert_se(sigaddset(&mask, SIGINT) == 0); + assert_se(sigaddset(&mask, SIGTERM) == 0); + assert_se(sigaddset(&mask, SIGWINCH) == 0); + assert_se(sigaddset(&mask, SIGHUP) == 0); assert_se(sigprocmask(SIG_SETMASK, &mask, NULL) == 0); m->signal_watch.type = WATCH_SIGNAL_FD; @@ -1004,8 +1007,12 @@ static int manager_process_signal_fd(Manager *m, bool *quit) { break; case SIGINT: + case SIGTERM: *quit = true; return 0; + + default: + log_info("Got unhandled signal <%s>.", strsignal(sfsi.ssi_signo)); } }