Package: smstools
Version: 3.1-2+lenny1
Severity: normal
Tags: patch

After abnormal termination of modem handlers they chanded zombies.
The attached patch would solve the problem.
Should also apply to version 3.1.6.
--- smstools-3.1.orig/src/smsd.c	2008-05-11 18:08:26.000000000 +0200
+++ smstools-3.1/src/smsd.c	2010-02-11 13:58:17.000000000 +0100
@@ -4240,6 +4240,15 @@
   signal(SIGCONT,signal_handler);
 }
 
+void child_handler(int signum)
+{
+  int pid;
+
+  signal(SIGCHLD,SIG_IGN);
+  pid = wait(NULL);
+  writelogfile(LOG_CRIT, process_title, "Process with pid %i terminated.", pid);
+}
+
 /* =======================================================================
    Main
    ======================================================================= */
@@ -4260,6 +4269,7 @@
   signal(SIGUSR1,soft_termination_handler);
   signal(SIGUSR2,SIG_IGN);
   signal(SIGCONT,signal_handler);
+  signal(SIGCHLD,child_handler);
   // TODO: Some more signals should be ignored or handled too? 
   *run_info = 0;
   incoming_pdu_store = NULL;

Reply via email to