commit b77067404f00f777b006994af61557397e47d5cd
parent bd04fe7b462588edc015b716255ab7596a36f81e
Author: Kris Maglione <jg@suckless.org>
Date: Sun, 4 Feb 2007 13:31:12 -0500
Added SIGCHLD handler
Diffstat:
1 file changed, 9 insertions(+), 0 deletions(-)
diff --git a/main.c b/main.c
@@ -6,6 +6,7 @@
#include <fcntl.h>
#include <locale.h>
#include <pwd.h>
+#include <signal.h>
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
@@ -29,6 +30,13 @@ usage() {
}
static void
+sigchld_handler(int sig) {
+ int ret;
+ /* We only spawn one child */
+ wait(&ret);
+}
+
+static void
scan_wins() {
int i;
unsigned int num;
@@ -265,6 +273,7 @@ main(int argc, char *argv[]) {
if(wmiirc) {
int name_len = strlen(wmiirc) + 6;
char execstr[name_len];
+ signal(SIGCHLD, sigchld_handler);
switch(fork()) {
case 0:
if(setsid() == -1)