blocking sig child
authorChristian Pointner <equinox@realraum.at>
Sun, 3 Oct 2010 22:45:06 +0000 (22:45 +0000)
committerChristian Pointner <equinox@realraum.at>
Sun, 3 Oct 2010 22:45:06 +0000 (22:45 +0000)
door_daemon/sig_handler.c
powersensordaemon/sig_handler.c

index 2a17ebe..5cdaaa1 100644 (file)
@@ -96,6 +96,7 @@ int signal_init()
      (sigaction(SIGHUP, &act, NULL) < 0) ||
      (sigaction(SIGUSR1, &act, NULL) < 0) ||
      (sigaction(SIGUSR2, &act, NULL) < 0) ||
+     (sigaction(SIGCHLD, &act_ign, NULL) < 0) ||
      (sigaction(SIGPIPE, &act_ign, NULL) < 0)) {
 
     log_printf(ERROR, "signal handling init failed (sigaction error: %s)", strerror(errno));
@@ -158,6 +159,7 @@ void signal_stop()
   sigaction(SIGUSR1, &act, NULL);
   sigaction(SIGUSR2, &act, NULL);
   sigaction(SIGPIPE, &act, NULL);
+  sigaction(SIGCHLD, &act, NULL);
 
   close(sig_pipe_fds[0]);
   close(sig_pipe_fds[1]);
index 2a17ebe..5cdaaa1 100644 (file)
@@ -96,6 +96,7 @@ int signal_init()
      (sigaction(SIGHUP, &act, NULL) < 0) ||
      (sigaction(SIGUSR1, &act, NULL) < 0) ||
      (sigaction(SIGUSR2, &act, NULL) < 0) ||
+     (sigaction(SIGCHLD, &act_ign, NULL) < 0) ||
      (sigaction(SIGPIPE, &act_ign, NULL) < 0)) {
 
     log_printf(ERROR, "signal handling init failed (sigaction error: %s)", strerror(errno));
@@ -158,6 +159,7 @@ void signal_stop()
   sigaction(SIGUSR1, &act, NULL);
   sigaction(SIGUSR2, &act, NULL);
   sigaction(SIGPIPE, &act, NULL);
+  sigaction(SIGCHLD, &act, NULL);
 
   close(sig_pipe_fds[0]);
   close(sig_pipe_fds[1]);