From: Martin Mares Date: Sun, 19 Nov 2017 15:02:01 +0000 (+0100) Subject: Server: Shut down on SIGTERM X-Git-Tag: v0.9~1 X-Git-Url: http://mj.ucw.cz/gitweb/?a=commitdiff_plain;h=47939e3a06a5fa33c2a65c3913064cc0e2bd3976;p=subauth.git Server: Shut down on SIGTERM --- diff --git a/server/subauthd.c b/server/subauthd.c index 4d1110b..a857612 100644 --- a/server/subauthd.c +++ b/server/subauthd.c @@ -14,6 +14,7 @@ #include #include +#include #include #include #include @@ -292,6 +293,21 @@ static void init_socket(void) msg(L_INFO, "Listening on %s", socket_path); } +static void sig_term(struct main_signal *ms UNUSED) +{ + msg(L_INFO, "Shutting down"); + main_shut_down(); +} + +static void init_signals(void) +{ + static struct main_signal ms_sigterm = { + .signum = SIGTERM, + .handler = sig_term, + }; + signal_add(&ms_sigterm); +} + static char *zone_commit(void *z_) { struct auth_zone *z = z_; @@ -355,6 +371,7 @@ int main(int argc UNUSED, char **argv) temp_init(); main_init(); init_socket(); + init_signals(); main_loop(); return 0;