diff options
-rw-r--r-- | swaybar/bar.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/swaybar/bar.c b/swaybar/bar.c index abde1cc9..5ed0d266 100644 --- a/swaybar/bar.c +++ b/swaybar/bar.c | |||
@@ -34,6 +34,7 @@ static void spawn_status_cmd_proc(struct bar *bar) { | |||
34 | close(pipefd[0]); | 34 | close(pipefd[0]); |
35 | dup2(pipefd[1], STDOUT_FILENO); | 35 | dup2(pipefd[1], STDOUT_FILENO); |
36 | close(pipefd[1]); | 36 | close(pipefd[1]); |
37 | setpgid(bar->status_command_pid, 0); | ||
37 | char *const cmd[] = { | 38 | char *const cmd[] = { |
38 | "sh", | 39 | "sh", |
39 | "-c", | 40 | "-c", |
@@ -274,7 +275,7 @@ static void free_outputs(list_t *outputs) { | |||
274 | static void terminate_status_command(pid_t pid) { | 275 | static void terminate_status_command(pid_t pid) { |
275 | if (pid) { | 276 | if (pid) { |
276 | // terminate status_command process | 277 | // terminate status_command process |
277 | int ret = kill(pid, SIGTERM); | 278 | int ret = killpg(pid, SIGTERM); |
278 | if (ret != 0) { | 279 | if (ret != 0) { |
279 | sway_log(L_ERROR, "Unable to terminate status_command [pid: %d]", pid); | 280 | sway_log(L_ERROR, "Unable to terminate status_command [pid: %d]", pid); |
280 | } else { | 281 | } else { |