From bf799599613a47ad4a726d6e0622d82fb6985b26 Mon Sep 17 00:00:00 2001 From: Dmitry Simonenko Date: Wed, 28 Feb 2018 17:33:38 +0300 Subject: [PATCH] odissey: handle sigterm signal --- sources/instance.c | 1 + sources/pooler.c | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/sources/instance.c b/sources/instance.c index ca3ae0f4..514f38fa 100644 --- a/sources/instance.c +++ b/sources/instance.c @@ -63,6 +63,7 @@ void od_instance_init(od_instance_t *instance) sigset_t mask; sigemptyset(&mask); sigaddset(&mask, SIGINT); + sigaddset(&mask, SIGTERM); sigaddset(&mask, SIGHUP); sigaddset(&mask, SIGPIPE); sigprocmask(SIG_BLOCK, &mask, NULL); diff --git a/sources/pooler.c b/sources/pooler.c index e8ad84f8..4872b5a1 100644 --- a/sources/pooler.c +++ b/sources/pooler.c @@ -300,6 +300,7 @@ od_pooler_signal_handler(void *arg) sigset_t mask; sigemptyset(&mask); sigaddset(&mask, SIGINT); + sigaddset(&mask, SIGTERM); sigaddset(&mask, SIGHUP); int rc; rc = machine_signal_init(&mask); @@ -314,10 +315,14 @@ od_pooler_signal_handler(void *arg) if (rc == -1) break; switch (rc) { + case SIGTERM: + od_log(&instance->logger, "pooler", NULL, NULL, + "SIGTERM received, shutting down"); + exit(0); + break; case SIGINT: od_log(&instance->logger, "pooler", NULL, NULL, "SIGINT received, shutting down"); - exit(0); break; case SIGHUP: