aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dwmstatus.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/dwmstatus.c b/dwmstatus.c
index afa7def..11c78ef 100644
--- a/dwmstatus.c
+++ b/dwmstatus.c
@@ -2811,6 +2811,14 @@ main (int argc, char *argv[])
opt_handler_free (&oh);
+ // We don't need to retrieve exit statuses of anything, avoid zombies
+ struct sigaction sa;
+ sa.sa_flags = SA_RESTART | SA_NOCLDWAIT;
+ sigemptyset (&sa.sa_mask);
+ sa.sa_handler = SIG_IGN;
+ if (sigaction (SIGCHLD, &sa, NULL) == -1)
+ print_error ("%s: %s", "sigaction", strerror (errno));
+
struct app_context ctx;
app_context_init (&ctx);
ctx.prefix = argc > 1 ? argv[1] : NULL;