From: Lennart Poettering Date: Thu, 6 Feb 2014 00:50:41 +0000 (+0100) Subject: core: only send SIGHUP when doing first kill, not when doing final sigkill X-Git-Tag: v209~241 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=97e0691f85da6e7ea131ce80bd61e2d47a737a61;p=elogind.git core: only send SIGHUP when doing first kill, not when doing final sigkill --- diff --git a/src/core/unit.c b/src/core/unit.c index 63576a4b7..345521a71 100644 --- a/src/core/unit.c +++ b/src/core/unit.c @@ -2944,7 +2944,7 @@ int unit_kill_context( if (!main_pid_alien) wait_for_exit = true; - if (c->send_sighup) + if (c->send_sighup && !sigkill) kill(main_pid, SIGHUP); } } @@ -2960,7 +2960,7 @@ int unit_kill_context( } else { wait_for_exit = true; - if (c->send_sighup) + if (c->send_sighup && !sigkill) kill(control_pid, SIGHUP); } } @@ -2991,7 +2991,7 @@ int unit_kill_context( * gets fixed we really should correct * that. */ - if (c->send_sighup) { + if (c->send_sighup && !sigkill) { set_free(pid_set); pid_set = unit_pid_set(main_pid, control_pid);