summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2014-02-06 01:50:41 +0100
committerLennart Poettering <lennart@poettering.net>2014-02-06 02:13:23 +0100
commit97e0691f85da6e7ea131ce80bd61e2d47a737a61 (patch)
tree97bc3624532a866166ce57d5c494df81895db73a /src/core
parent99bd4af0c7034f425b4d334986b03e632ab71718 (diff)
core: only send SIGHUP when doing first kill, not when doing final sigkill
Diffstat (limited to 'src/core')
-rw-r--r--src/core/unit.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/core/unit.c b/src/core/unit.c
index 63576a4b70..345521a711 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);