From e80494726c5b36caef58a5999251613453d9e2f0 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 20 Aug 2017 12:44:21 +0200 Subject: [PATCH] ggsn: Handle SIGTERM like SIGINT and terminate Change-Id: I0c8773bd6ef41332b91b5b025aef9ef129af8289 --- ggsn/ggsn.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ggsn/ggsn.c b/ggsn/ggsn.c index 2bf3d7e..ee64cb9 100644 --- a/ggsn/ggsn.c +++ b/ggsn/ggsn.c @@ -657,6 +657,7 @@ static void signal_handler(int s) LOGP(DGGSN, LOGL_NOTICE, "signal %d received\n", s); switch (s) { case SIGINT: + case SIGTERM: LOGP(DGGSN, LOGL_NOTICE, "SIGINT received, shutting down\n"); end = 1; break; @@ -803,11 +804,12 @@ int main(int argc, char **argv) struct ggsn_ctx *ggsn; int rc; - /* Handle keyboard interrupt SIGINT */ tall_ggsn_ctx = talloc_named_const(NULL, 0, "openggsn"); msgb_talloc_ctx_init(tall_ggsn_ctx, 0); + /* Handle keyboard interrupt SIGINT */ signal(SIGINT, &signal_handler); + signal(SIGTERM, &signal_handler); signal(SIGABRT, &signal_handler); signal(SIGUSR1, &signal_handler); signal(SIGUSR2, &signal_handler);