summaryrefslogtreecommitdiffstats
path: root/debian/patches/upstream-3823fa2c57.diff
blob: 09f6dc22424063a76202889af9c4de16700af779 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
commit 3823fa2c577d440649a84af660e4d3b0c095d248
Author: Nicholas Marriott <nicholas.marriott@gmail.com>
Date:   Tue Apr 30 12:38:58 2024 +0100

    Send SIGHUP since some programs ignore SIGTERM, from Eduardo Grajeda in GitHub
    issue 3958.

diff --git a/compat/systemd.c b/compat/systemd.c
index 063474e3dd..bde372ccab 100644
--- a/compat/systemd.c
+++ b/compat/systemd.c
@@ -144,6 +144,17 @@ systemd_move_pid_to_new_cgroup(pid_t pid, char **cause)
 		goto finish;
 	}
 
+	/*
+	 * Make sure that the session shells are terminated with SIGHUP since
+	 * bash and friends tend to ignore SIGTERM.
+	 */
+	r = sd_bus_message_append(m, "(sv)", "SendSIGHUP", "b", 1);
+	if (r < 0) {
+		xasprintf(cause, "failed to append to properties: %s",
+		    strerror(-r));
+		goto finish;
+	}
+
 	/*
 	 * Inherit the slice from the parent process, or default to
 	 * "app-tmux.slice" if that fails.