diff -Naur old_sysklogd-1.4.1/syslogd.c sysklogd-1.4.1/syslogd.c --- sysklogd-1.4.1/syslogd.c 2001-03-11 12:40:10.000000000 -0700 +++ sysklogd-1.4.1/syslogd.c 2005-06-22 13:28:46.000000000 -0600 @@ -890,11 +890,11 @@ dprintf("Checking pidfile.\n"); if (!check_pid(PidFile)) { + signal (SIGTERM, doexit); if (fork()) { /* * Parent process */ - signal (SIGTERM, doexit); sleep(300); /* * Not reached unless something major went wrong. 5 @@ -906,6 +906,7 @@ */ exit(1); } + signal (SIGTERM, SIG_DFL); num_fds = getdtablesize(); for (i= 0; i < num_fds; i++) (void) close(i);