diff options
Diffstat (limited to 'sway/main.c')
-rw-r--r-- | sway/main.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sway/main.c b/sway/main.c index 7661551d..7477b08c 100644 --- a/sway/main.c +++ b/sway/main.c @@ -2,16 +2,23 @@ #include <stdlib.h> #include <stdbool.h> #include <wlc/wlc.h> +#include <sys/wait.h> +#include <signal.h> #include "layout.h" #include "config.h" #include "log.h" #include "handlers.h" +static void sigchld_handle(int signal); int main(int argc, char **argv) { init_log(L_DEBUG); // TODO: Control this with command line arg init_layout(); + /* Signal handling */ + signal(SIGCHLD, sigchld_handle); + + setenv("WLC_DIM", "0", 0); if (!wlc_init(&interface, argc, argv)) { return 1; @@ -25,3 +32,8 @@ int main(int argc, char **argv) { wlc_run(); return 0; } + +static void sigchld_handle(int signal) { + (void) signal; + while (waitpid((pid_t)-1, 0, WNOHANG) > 0); +} |