From 5bcecbb75127bb5d7940b4c391888dd1fe8915c9 Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Thu, 8 Oct 2015 06:24:35 -0400 Subject: [PATCH] Revert "#187 cleanup zombies properly" --- sway/main.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/sway/main.c b/sway/main.c index 93dbae8d..66921184 100644 --- a/sway/main.c +++ b/sway/main.c @@ -22,6 +22,8 @@ void sway_terminate(void) { wlc_terminate(); } +static void sigchld_handle(int signal); + static void wlc_log_handler(enum wlc_log_type type, const char *str) { if (type == WLC_LOG_ERROR) { sway_log(L_ERROR, "[wlc] %s", str); @@ -62,8 +64,8 @@ int main(int argc, char **argv) { {0, 0, 0, 0} }; - /* clean zombie processes */ - signal(SIGCHLD, SIG_IGN); + /* Signal handling */ + signal(SIGCHLD, sigchld_handle); setenv("WLC_DIM", "0", 0); @@ -150,3 +152,8 @@ int main(int argc, char **argv) { return 0; } + +void sigchld_handle(int signal) { + (void) signal; + while (waitpid((pid_t)-1, 0, WNOHANG) > 0); +}