sway: restore SIGPIPE handler before exec:ing swaybar

Sway ignores SIGPIPE (by installing a SIG_IGN handler), in order to
“prevent IPC from crashing Sway”.

SIG_IGN handlers are the *only* signal handlers inherited in
sub-processes. As such, we should be a good citizen and restore the
SIGPIPE handler to its default handler.

Original bug report:
https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1806907.html
This commit is contained in:
Daniel Eklöf 2021-06-02 19:55:03 +02:00 committed by Simon Ser
parent 1dd6df6a5d
commit 3bf99198a6

View file

@ -217,6 +217,7 @@ static void invoke_swaybar(struct bar_config *bar) {
sigset_t set;
sigemptyset(&set);
sigprocmask(SIG_SETMASK, &set, NULL);
signal(SIGPIPE, SIG_DFL);
pid = fork();
if (pid < 0) {