fix startup_cmd SIGCHLD handler

Ignored handlers are not reset by exec() calls
This commit is contained in:
Devin J. Pohly 2023-06-15 15:42:54 -05:00 committed by Leonardo Hernández
parent 5215712cab
commit df11b7a786

2
dwl.c
View file

@ -1963,6 +1963,8 @@ run(char *startup_cmd)
if ((child_pid = fork()) < 0) if ((child_pid = fork()) < 0)
die("startup: fork:"); die("startup: fork:");
if (child_pid == 0) { if (child_pid == 0) {
sa.sa_handler = SIG_DFL;
sigaction(SIGCHLD, &sa, NULL);
dup2(piperw[0], STDIN_FILENO); dup2(piperw[0], STDIN_FILENO);
close(piperw[0]); close(piperw[0]);
close(piperw[1]); close(piperw[1]);