swaybar: allow status line cleanup to proceed when hidden

`determine_bar_visibility` stops and starts the status command process according to the bar’s visibility. If the bar was hidden during teardown, teardown would stall while waiting for the stopped status command process to exit.

This resumes a stopped status command during teardown and allows, for example, sway to reload or quit without leaving a swaybar instance behind each time.

Fixes #5536.

CONT before TERM as requested in review.
This commit is contained in:
Charmander 2020-07-11 10:21:02 -07:00 committed by Simon Ser
parent 7c7afa3b29
commit 66b7ac6a82
1 changed files with 1 additions and 0 deletions

View File

@ -185,6 +185,7 @@ struct status_line *status_line_init(char *cmd) {
void status_line_free(struct status_line *status) {
status_line_close_fds(status);
kill(status->pid, status->cont_signal);
kill(status->pid, SIGTERM);
waitpid(status->pid, NULL, 0);
if (status->protocol == PROTOCOL_I3BAR) {