Introduction
Introduction Statistics Contact Development Disclaimer Help
restore SIGCHLD sighandler to default before spawning a program - tabbed - tab …
git clone git://git.suckless.org/tabbed
Log
Files
Refs
README
LICENSE
---
commit 97ba13b1eb4756fb1a024fd1e83df6e393befd27
parent 66ef5f33e9987b70e2457c4a459f7ed84184604b
Author: Hiltjo Posthuma <[email protected]>
Date: Sun, 9 Apr 2023 12:47:07 +0200
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 defau…
the dispositions of ignored signals are left unchanged.
This refused to start directly some programs from configuring in config.h:
Some reported programs that didn't start were: mpv.
Similar to the commit e81f17d4c196aaed6893fd4beed49991caa3e2a4 from dwm.
Diffstat:
M tabbed.c | 8 ++++++++
1 file changed, 8 insertions(+), 0 deletions(-)
---
diff --git a/tabbed.c b/tabbed.c
@@ -1088,11 +1088,19 @@ setup(void)
void
spawn(const Arg *arg)
{
+ struct sigaction sa;
+
if (fork() == 0) {
if(dpy)
close(ConnectionNumber(dpy));
setsid();
+
+ sigemptyset(&sa.sa_mask);
+ sa.sa_flags = 0;
+ sa.sa_handler = SIG_DFL;
+ sigaction(SIGCHLD, &sa, NULL);
+
if (arg && arg->v) {
execvp(((char **)arg->v)[0], (char **)arg->v);
fprintf(stderr, "%s: execvp %s", argv0,
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.