1 |
commit: 6dcb6929869c2f81c1f8d0930191f74fc6dfaa3e |
2 |
Author: Doug Freed <dwfreed <AT> mtu <DOT> edu> |
3 |
AuthorDate: Sun Jan 8 10:48:53 2017 +0000 |
4 |
Commit: William Hubbs <williamh <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Jan 25 23:48:52 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/openrc.git/commit/?id=6dcb6929 |
7 |
|
8 |
start-stop-daemon: allow all standard signals |
9 |
|
10 |
Also we define the signalpair_item macro. |
11 |
This fixes #113. |
12 |
|
13 |
X-Gentoo-Bug: 604986 |
14 |
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=604986 |
15 |
|
16 |
src/rc/start-stop-daemon.c | 57 ++++++++++++++++++++++++++++++---------------- |
17 |
1 file changed, 38 insertions(+), 19 deletions(-) |
18 |
|
19 |
diff --git a/src/rc/start-stop-daemon.c b/src/rc/start-stop-daemon.c |
20 |
index b1c6e73..e9f9848 100644 |
21 |
--- a/src/rc/start-stop-daemon.c |
22 |
+++ b/src/rc/start-stop-daemon.c |
23 |
@@ -197,26 +197,45 @@ parse_signal(const char *sig) |
24 |
int signal; |
25 |
} SIGNALPAIR; |
26 |
|
27 |
+#define signalpair_item(name) { #name, SIG##name }, |
28 |
+ |
29 |
static const SIGNALPAIR signallist[] = { |
30 |
- { "ABRT", SIGABRT }, |
31 |
- { "ALRM", SIGALRM }, |
32 |
- { "FPE", SIGFPE }, |
33 |
- { "HUP", SIGHUP }, |
34 |
- { "ILL", SIGILL }, |
35 |
- { "INT", SIGINT }, |
36 |
- { "KILL", SIGKILL }, |
37 |
- { "PIPE", SIGPIPE }, |
38 |
- { "QUIT", SIGQUIT }, |
39 |
- { "SEGV", SIGSEGV }, |
40 |
- { "TERM", SIGTERM }, |
41 |
- { "USR1", SIGUSR1 }, |
42 |
- { "USR2", SIGUSR2 }, |
43 |
- { "CHLD", SIGCHLD }, |
44 |
- { "CONT", SIGCONT }, |
45 |
- { "STOP", SIGSTOP }, |
46 |
- { "TSTP", SIGTSTP }, |
47 |
- { "TTIN", SIGTTIN }, |
48 |
- { "TTOU", SIGTTOU }, |
49 |
+ signalpair_item(HUP) |
50 |
+ signalpair_item(INT) |
51 |
+ signalpair_item(QUIT) |
52 |
+ signalpair_item(ILL) |
53 |
+ signalpair_item(TRAP) |
54 |
+ signalpair_item(ABRT) |
55 |
+ signalpair_item(BUS) |
56 |
+ signalpair_item(FPE) |
57 |
+ signalpair_item(KILL) |
58 |
+ signalpair_item(USR1) |
59 |
+ signalpair_item(SEGV) |
60 |
+ signalpair_item(USR2) |
61 |
+ signalpair_item(PIPE) |
62 |
+ signalpair_item(ALRM) |
63 |
+ signalpair_item(TERM) |
64 |
+ signalpair_item(CHLD) |
65 |
+ signalpair_item(CONT) |
66 |
+ signalpair_item(STOP) |
67 |
+ signalpair_item(TSTP) |
68 |
+ signalpair_item(TTIN) |
69 |
+ signalpair_item(TTOU) |
70 |
+ signalpair_item(URG) |
71 |
+ signalpair_item(XCPU) |
72 |
+ signalpair_item(XFSZ) |
73 |
+ signalpair_item(VTALRM) |
74 |
+ signalpair_item(PROF) |
75 |
+#ifdef SIGWINCH |
76 |
+ signalpair_item(WINCH) |
77 |
+#endif |
78 |
+#ifdef SIGIO |
79 |
+ signalpair_item(IO) |
80 |
+#endif |
81 |
+#ifdef SIGPWR |
82 |
+ signalpair_item(PWR) |
83 |
+#endif |
84 |
+ signalpair_item(SYS) |
85 |
{ "NULL", 0 }, |
86 |
}; |