summaryrefslogtreecommitdiff
path: root/extra/haveged/cleanexit.patch
blob: 01f8c7f94f343e2ac5f092f9649c98d45e788342 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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