Let SIGTERM properly shutdown Kore as well.

This commit is contained in:
Joris Vink 2016-01-31 16:48:17 +01:00
parent cb489ce80f
commit f2f5a3742f
2 changed files with 13 additions and 2 deletions

View File

@ -179,6 +179,7 @@ main(int argc, char *argv[])
sig_recv = 0;
signal(SIGHUP, kore_signal);
signal(SIGQUIT, kore_signal);
signal(SIGTERM, kore_signal);
if (foreground)
signal(SIGINT, kore_signal);
@ -399,6 +400,7 @@ kore_server_start(void)
break;
case SIGINT:
case SIGQUIT:
case SIGTERM:
quit = 1;
kore_worker_dispatch_signal(sig_recv);
continue;

View File

@ -270,6 +270,7 @@ kore_worker_entry(struct kore_worker *kw)
sig_recv = 0;
signal(SIGHUP, kore_signal);
signal(SIGQUIT, kore_signal);
signal(SIGTERM, kore_signal);
signal(SIGPIPE, SIG_IGN);
if (foreground)
@ -306,10 +307,18 @@ kore_worker_entry(struct kore_worker *kw)
for (;;) {
if (sig_recv != 0) {
if (sig_recv == SIGHUP)
switch (sig_recv) {
case SIGHUP:
kore_module_reload(1);
else if (sig_recv == SIGQUIT || sig_recv == SIGINT)
break;
case SIGQUIT:
case SIGINT:
case SIGTERM:
quit = 1;
break;
default:
break;
}
sig_recv = 0;
}