iWait for children to exit, so there are no zombies left. - thingmenu - A simple graphical menu launcher for X11. Err bitreich.org 70
hgit clone git://bitreich.org/thingmenu URL:git://bitreich.org/thingmenu bitreich.org 70
1Log /scm/thingmenu/log.gph bitreich.org 70
1Files /scm/thingmenu/files.gph bitreich.org 70
1Refs /scm/thingmenu/refs.gph bitreich.org 70
1Tags /scm/thingmenu/tag bitreich.org 70
1LICENSE /scm/thingmenu/file/LICENSE.gph bitreich.org 70
i--- Err bitreich.org 70
1commit f19ef16ad6c6db0361253620088a5b37b9d0ab4d /scm/thingmenu/commit/f19ef16ad6c6db0361253620088a5b37b9d0ab4d.gph bitreich.org 70
1parent 811e5fc9b529d6efa2833e58e9a08165490f3281 /scm/thingmenu/commit/811e5fc9b529d6efa2833e58e9a08165490f3281.gph bitreich.org 70
hAuthor: Christoph Lohmann <20h@r-36.net> URL:mailto:20h@r-36.net bitreich.org 70
iDate: Fri, 24 May 2019 20:19:14 +0200 Err bitreich.org 70
i Err bitreich.org 70
iWait for children to exit, so there are no zombies left. Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i M thingmenu.c | 10 +++++++--- Err bitreich.org 70
i Err bitreich.org 70
i1 file changed, 7 insertions(+), 3 deletions(-) Err bitreich.org 70
i--- Err bitreich.org 70
1diff --git a/thingmenu.c b/thingmenu.c /scm/thingmenu/file/thingmenu.c.gph bitreich.org 70
i@@ -9,6 +9,8 @@ Err bitreich.org 70
i #include <string.h> Err bitreich.org 70
i #include <stdlib.h> Err bitreich.org 70
i #include <libgen.h> Err bitreich.org 70
i+#include <sys/types.h> Err bitreich.org 70
i+#include <sys/wait.h> Err bitreich.org 70
i #include <X11/keysym.h> Err bitreich.org 70
i #include <X11/Xatom.h> Err bitreich.org 70
i #include <X11/Xlib.h> Err bitreich.org 70
i@@ -524,14 +526,13 @@ void Err bitreich.org 70
i runentry(Entry *e) Err bitreich.org 70
i { Err bitreich.org 70
i char *shell; Err bitreich.org 70
i- int pid; Err bitreich.org 70
i Err bitreich.org 70
i if (oneshot || e->forceexit) Err bitreich.org 70
i running = False; Err bitreich.org 70
i Err bitreich.org 70
i- switch (pid = fork()) { Err bitreich.org 70
i+ switch (fork()) { Err bitreich.org 70
i case -1: Err bitreich.org 70
i- return; Err bitreich.org 70
i+ break; Err bitreich.org 70
i case 0: Err bitreich.org 70
i shell = getenv("SHELL"); Err bitreich.org 70
i if (!shell) Err bitreich.org 70
i@@ -539,6 +540,9 @@ runentry(Entry *e) Err bitreich.org 70
i Err bitreich.org 70
i execlp(shell, basename(shell), "-c", e->cmd, (char *)NULL); Err bitreich.org 70
i break; Err bitreich.org 70
i+ default: Err bitreich.org 70
i+ wait(NULL); Err bitreich.org 70
i+ break; Err bitreich.org 70
i } Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
.
Response:
text/plain