From 47939e3a06a5fa33c2a65c3913064cc0e2bd3976 Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Sun, 19 Nov 2017 16:02:01 +0100 Subject: [PATCH] Server: Shut down on SIGTERM --- server/subauthd.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) 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; -- 2.39.2