summaryrefslogtreecommitdiff
path: root/community/haveged/cleanexit.patch
diff options
context:
space:
mode:
Diffstat (limited to 'community/haveged/cleanexit.patch')
-rw-r--r--community/haveged/cleanexit.patch21
1 files changed, 21 insertions, 0 deletions
diff --git a/community/haveged/cleanexit.patch b/community/haveged/cleanexit.patch
new file mode 100644
index 000000000..01f8c7f94
--- /dev/null
+++ b/community/haveged/cleanexit.patch
@@ -0,0 +1,21 @@
+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