restore SIGCHLD sighandler to default before spawning a program
commite81f17d4c196aaed6893fd4beed49991caa3e2a4
authorHiltjo Posthuma <hiltjo@codemadness.org>
Sun, 9 Apr 2023 10:37:14 +0000 (9 12:37 +0200)
committerHiltjo Posthuma <hiltjo@codemadness.org>
Sun, 9 Apr 2023 10:37:14 +0000 (9 12:37 +0200)
treec15dd5f8179cd0f8f2ad1dba526a17c799e94ce0
parent348f6559ab0d4793db196ffa56ba96ab95a594a6
restore SIGCHLD sighandler to default before spawning a program

From sigaction(2):
A child created via fork(2) inherits a copy of its parent's signal dispositions.
During an execve(2), the dispositions of handled signals are reset to the default;
the dispositions of ignored signals are left unchanged.

This refused to start directly some programs from configuring in config.h:

static Key keys[] = {
MODKEY,                       XK_o,      spawn,          {.v = cmd } },
};

Some reported programs that didn't start were: mpv, anki, dmenu_extended.

Reported by pfx.
Initial patch suggestion by Storkman.
dwm.c