about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAnselm R Garbe <anselm@garbe.us>2009-08-16 08:18:25 +0100
committerAnselm R Garbe <anselm@garbe.us>2009-08-16 08:18:25 +0100
commit8ef465d592fada11dab075bb7569239c03e3afa4 (patch)
treeb014f43decb83a2db4d5b9335df569a9c3a0cdaa
parent33fe200b521b19a089d39aca247bb78432e02e6d (diff)
downloaddwm-8ef465d592fada11dab075bb7569239c03e3afa4.tar.gz
applied Jukka's sigchld patch
-rw-r--r--LICENSE2
-rw-r--r--dwm.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/LICENSE b/LICENSE
index a84241a..86b2c94 100644
--- a/LICENSE
+++ b/LICENSE
@@ -2,7 +2,7 @@ MIT/X Consortium License
 
 © 2006-2009 Anselm R Garbe <garbeam at gmail dot com>
 © 2006-2007 Sander van Dijk <a dot h dot vandijk at gmail dot com>
-© 2006-2007 Jukka Salmi <jukka at salmi dot ch>
+© 2006-2009 Jukka Salmi <jukka at salmi dot ch>
 © 2007-2009 Premysl Hruby <dfenze at gmail dot com>
 © 2007-2009 Szabolcs Nagy <nszabolcs at gmail dot com>
 © 2007-2009 Christof Musik <christof at sendfax dot de>
diff --git a/dwm.c b/dwm.c
index 1b30cae..e2f306c 100644
--- a/dwm.c
+++ b/dwm.c
@@ -1429,7 +1429,6 @@ setup(void) {
 	XSetWindowAttributes wa;
 
 	/* clean up any zombies immediately */
-	signal(SIGCHLD, sigchld);
 	sigchld(0);
 
 	/* init screen */
@@ -1501,8 +1500,9 @@ 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));
-	signal(SIGCHLD, sigchld);
 }
 
 void