diff options
author | Harald Welte <laforge@gnumonks.org> | 2017-08-20 12:44:21 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2017-09-06 09:17:15 +0200 |
commit | e80494726c5b36caef58a5999251613453d9e2f0 (patch) | |
tree | 6782d70a6b1b58a690baac4c0acc1b499d558677 /ggsn | |
parent | 3591437e0f868d597782fbed64de0eac18340028 (diff) |
ggsn: Handle SIGTERM like SIGINT and terminate
Change-Id: I0c8773bd6ef41332b91b5b025aef9ef129af8289
Diffstat (limited to 'ggsn')
-rw-r--r-- | ggsn/ggsn.c | 4 |
1 files changed, 3 insertions, 1 deletions
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); |