On Tue, Sep 17, 2019 at 12:15:59PM +0200, C.J. Wagenius wrote: > Hi. > > I'm using surf on void linux (musl). I get a whole lot of zombies (sh > <defunct>) when spawning child processes (Go & Find). I don't know where the > optimal place is to put a waitpid for them but this works for me. > > # --- Start patch > index 2b54e3c..ef1309b 100644 > --- a/surf.c > +++ b/surf.c > @@ -1327,6 +1327,7 @@ winevent(GtkWidget *w, GdkEvent *e, Client *c) > { > int i; > > + waitpid((pid_t)-1, NULL, WNOHANG); > switch (e->type) { > case GDK_ENTER_NOTIFY: > c->overtitle = c->targeturi; > # --- End patch > > Thanks for awesome software. > > /cjw >
You know, if no place in the code ever calls wait* except this line, might be simpler to just set SIGCHLD to SIG_IGN during initialization. Ciao, Markus