diff --git a/svr-chansession.c b/svr-chansession.c index 0b3e833..e6ad713 100644 --- a/svr-chansession.c +++ b/svr-chansession.c @@ -137,6 +137,7 @@ static void sesssigchild_handler(int UNUSED(dummy)) { sa_chld.sa_handler = sesssigchild_handler; sa_chld.sa_flags = SA_NOCLDSTOP; + sa_chld.sa_mask = 0; sigaction(SIGCHLD, &sa_chld, NULL); TRACE(("leave sigchld handler")) } diff --git a/svr-main.c b/svr-main.c index d3fa9af..ff3691f 100644 --- a/svr-main.c +++ b/svr-main.c @@ -370,6 +370,7 @@ static void commonsetup() { /* catch and reap zombie children */ sa_chld.sa_handler = sigchld_handler; sa_chld.sa_flags = SA_NOCLDSTOP; + sa_chld.sa_mask = 0; if (sigaction(SIGCHLD, &sa_chld, NULL) < 0) { dropbear_exit("signal() error"); }