Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > 7ce23f99807f9a2f70929a432f12f6ae > files > 7

sysklogd-1.4.2-8mdv2009.0.src.rpm

--- sysklogd-1.4.2rh/syslogd.c.startFailed	2007-05-07 15:49:48.000000000 +0200
+++ sysklogd-1.4.2rh/syslogd.c	2007-05-07 15:53:50.000000000 +0200
@@ -788,6 +788,7 @@
 void exit_signal_handler(int sig);
 #ifndef TESTING
 void doexit(int sig);
+void doExitFail(int sig);
 #endif
 void init();
 void cfline(char *line, register struct filed *f);
@@ -945,7 +946,8 @@
 		dprintf("Checking pidfile.\n");
 		if (!check_pid(PidFile))
 		{
-			signal (SIGTERM, doexit);
+			signal(SIGTERM, doexit);
+			signal(SIGCHLD, doExitFail);
 			if (fork()) {
 				/*
 				 * Parent process
@@ -962,6 +964,7 @@
 				exit(1);
 			}
 			signal (SIGTERM, SIG_DFL);
+			signal (SIGCHLD, SIG_DFL);
 			num_fds = getdtablesize();
 			for (i= 0; i < num_fds; i++)
 				(void) close(i);
@@ -2408,6 +2411,13 @@
 {
 	exit (0);
 }
+
+void doExitFail(sig)
+	int sig;
+{
+	exit (1);
+}
+
 #endif
 
 /*