diff -u -r haveged-1.7c/src/haveged.c haveged-1.7c-cleanexit/src/haveged.c --- haveged-1.7c/src/haveged.c 2013-01-12 19:20:04.000000000 +0100 +++ haveged-1.7c-cleanexit/src/haveged.c 2013-11-05 22:40:22.202935493 +0100 @@ -642,7 +642,16 @@ static void tidy_exit( /* OUT: nothing */ int signum) /* IN: signal number */ { - error_exit("Stopping due to signal %d\n", signum); +#ifndef NO_DAEMON + if (params->detached!=0) { + unlink(params->pid_file); + syslog(LOG_INFO, "%s Stopping due to signal %d", params->daemon, signum); + } + else +#endif + fprintf(stderr, "%s Stopping due to signal %d\n", params->daemon, signum); + havege_destroy(handle); + exit(0); } /** * send usage display to stderr