---
dwm.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/dwm.c b/dwm.c
index d27cb67..f593007 100644
--- a/dwm.c
+++ b/dwm.c
_AT_@ -1537,9 +1537,14 @@ setup(void)
int i;
XSetWindowAttributes wa;
Atom utf8string;
+ struct sigaction sa;
/* clean up any zombies immediately */
- sigchld(0);
+ sa.sa_handler = sigchld;
+ sa.sa_flags = SA_RESTART;
+ sigemptyset(&sa.sa_mask);
+ if (sigaction(SIGCHLD, &sa, NULL))
+ die("can't install SIGCHLD handler:");
/* init screen */
screen = DefaultScreen(dpy);
_AT_@ -1635,8 +1640,6 @@ showhide(Client *c)
void
sigchld(int unused)
{
- if (signal(SIGCHLD, sigchld) == SIG_ERR)
- die("can't install SIGCHLD handler:");
while (0 < waitpid(-1, NULL, WNOHANG));
}
--
2.11.0
Received on Sun Jan 22 2017 - 16:08:42 CET
This archive was generated by hypermail 2.3.0 : Sun Jan 22 2017 - 16:12:17 CET