mirror of https://github.com/yandex/odyssey.git
odissey: handle sigterm signal
This commit is contained in:
parent
3427b29af1
commit
bf79959961
|
@ -63,6 +63,7 @@ void od_instance_init(od_instance_t *instance)
|
||||||
sigset_t mask;
|
sigset_t mask;
|
||||||
sigemptyset(&mask);
|
sigemptyset(&mask);
|
||||||
sigaddset(&mask, SIGINT);
|
sigaddset(&mask, SIGINT);
|
||||||
|
sigaddset(&mask, SIGTERM);
|
||||||
sigaddset(&mask, SIGHUP);
|
sigaddset(&mask, SIGHUP);
|
||||||
sigaddset(&mask, SIGPIPE);
|
sigaddset(&mask, SIGPIPE);
|
||||||
sigprocmask(SIG_BLOCK, &mask, NULL);
|
sigprocmask(SIG_BLOCK, &mask, NULL);
|
||||||
|
|
|
@ -300,6 +300,7 @@ od_pooler_signal_handler(void *arg)
|
||||||
sigset_t mask;
|
sigset_t mask;
|
||||||
sigemptyset(&mask);
|
sigemptyset(&mask);
|
||||||
sigaddset(&mask, SIGINT);
|
sigaddset(&mask, SIGINT);
|
||||||
|
sigaddset(&mask, SIGTERM);
|
||||||
sigaddset(&mask, SIGHUP);
|
sigaddset(&mask, SIGHUP);
|
||||||
int rc;
|
int rc;
|
||||||
rc = machine_signal_init(&mask);
|
rc = machine_signal_init(&mask);
|
||||||
|
@ -314,10 +315,14 @@ od_pooler_signal_handler(void *arg)
|
||||||
if (rc == -1)
|
if (rc == -1)
|
||||||
break;
|
break;
|
||||||
switch (rc) {
|
switch (rc) {
|
||||||
|
case SIGTERM:
|
||||||
|
od_log(&instance->logger, "pooler", NULL, NULL,
|
||||||
|
"SIGTERM received, shutting down");
|
||||||
|
exit(0);
|
||||||
|
break;
|
||||||
case SIGINT:
|
case SIGINT:
|
||||||
od_log(&instance->logger, "pooler", NULL, NULL,
|
od_log(&instance->logger, "pooler", NULL, NULL,
|
||||||
"SIGINT received, shutting down");
|
"SIGINT received, shutting down");
|
||||||
|
|
||||||
exit(0);
|
exit(0);
|
||||||
break;
|
break;
|
||||||
case SIGHUP:
|
case SIGHUP:
|
||||||
|
|
Loading…
Reference in New Issue