diff options
-rw-r--r-- | sway/commands/exec_always.c | 4 | ||||
-rw-r--r-- | sway/config/bar.c | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/sway/commands/exec_always.c b/sway/commands/exec_always.c index 9bf2b320..c730cb8b 100644 --- a/sway/commands/exec_always.c +++ b/sway/commands/exec_always.c | |||
@@ -4,6 +4,7 @@ | |||
4 | #include <string.h> | 4 | #include <string.h> |
5 | #include <sys/wait.h> | 5 | #include <sys/wait.h> |
6 | #include <unistd.h> | 6 | #include <unistd.h> |
7 | #include <signal.h> | ||
7 | #include "sway/commands.h" | 8 | #include "sway/commands.h" |
8 | #include "sway/config.h" | 9 | #include "sway/config.h" |
9 | #include "sway/tree/container.h" | 10 | #include "sway/tree/container.h" |
@@ -47,6 +48,9 @@ struct cmd_results *cmd_exec_always(int argc, char **argv) { | |||
47 | if ((pid = fork()) == 0) { | 48 | if ((pid = fork()) == 0) { |
48 | // Fork child process again | 49 | // Fork child process again |
49 | setsid(); | 50 | setsid(); |
51 | sigset_t set; | ||
52 | sigemptyset(&set); | ||
53 | sigprocmask(SIG_SETMASK, &set, NULL); | ||
50 | close(fd[0]); | 54 | close(fd[0]); |
51 | if ((child = fork()) == 0) { | 55 | if ((child = fork()) == 0) { |
52 | close(fd[1]); | 56 | close(fd[1]); |
diff --git a/sway/config/bar.c b/sway/config/bar.c index 3a74331e..ae9383d6 100644 --- a/sway/config/bar.c +++ b/sway/config/bar.c | |||
@@ -10,6 +10,7 @@ | |||
10 | #include <sys/stat.h> | 10 | #include <sys/stat.h> |
11 | #include <signal.h> | 11 | #include <signal.h> |
12 | #include <strings.h> | 12 | #include <strings.h> |
13 | #include <signal.h> | ||
13 | #include "sway/config.h" | 14 | #include "sway/config.h" |
14 | #include "stringop.h" | 15 | #include "stringop.h" |
15 | #include "list.h" | 16 | #include "list.h" |
@@ -175,6 +176,9 @@ void invoke_swaybar(struct bar_config *bar) { | |||
175 | if (bar->pid == 0) { | 176 | if (bar->pid == 0) { |
176 | setpgid(0, 0); | 177 | setpgid(0, 0); |
177 | close(filedes[0]); | 178 | close(filedes[0]); |
179 | sigset_t set; | ||
180 | sigemptyset(&set); | ||
181 | sigprocmask(SIG_SETMASK, &set, NULL); | ||
178 | 182 | ||
179 | // run custom swaybar | 183 | // run custom swaybar |
180 | size_t len = snprintf(NULL, 0, "%s -b %s", | 184 | size_t len = snprintf(NULL, 0, "%s -b %s", |