chiark / gitweb /
core: only send SIGHUP when doing first kill, not when doing final sigkill
[elogind.git] / src / core / unit.c
index 63576a4b700b6479bfd6bd200fc84fdec8929f8a..345521a711f0cb0c740c637cf3c6ebc764857a85 100644 (file)
@@ -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);