commit f19ef16ad6c6db0361253620088a5b37b9d0ab4d
parent 811e5fc9b529d6efa2833e58e9a08165490f3281
Author: Christoph Lohmann <20h@r-36.net>
Date: Fri, 24 May 2019 20:19:14 +0200
Wait for children to exit, so there are no zombies left.
Diffstat:
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/thingmenu.c b/thingmenu.c
@@ -9,6 +9,8 @@
#include <string.h>
#include <stdlib.h>
#include <libgen.h>
+#include <sys/types.h>
+#include <sys/wait.h>
#include <X11/keysym.h>
#include <X11/Xatom.h>
#include <X11/Xlib.h>
@@ -524,14 +526,13 @@ void
runentry(Entry *e)
{
char *shell;
- int pid;
if (oneshot || e->forceexit)
running = False;
- switch (pid = fork()) {
+ switch (fork()) {
case -1:
- return;
+ break;
case 0:
shell = getenv("SHELL");
if (!shell)
@@ -539,6 +540,9 @@ runentry(Entry *e)
execlp(shell, basename(shell), "-c", e->cmd, (char *)NULL);
break;
+ default:
+ wait(NULL);
+ break;
}
}