• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include "node.h"
2 
3 #include <csignal>
4 
5 namespace node {
6 
signo_string(int signo)7 const char* signo_string(int signo) {
8 #define SIGNO_CASE(e)                                                          \
9   case e:                                                                      \
10     return #e;
11   switch (signo) {
12 #ifdef SIGHUP
13     SIGNO_CASE(SIGHUP);
14 #endif
15 
16 #ifdef SIGINT
17     SIGNO_CASE(SIGINT);
18 #endif
19 
20 #ifdef SIGQUIT
21     SIGNO_CASE(SIGQUIT);
22 #endif
23 
24 #ifdef SIGILL
25     SIGNO_CASE(SIGILL);
26 #endif
27 
28 #ifdef SIGTRAP
29     SIGNO_CASE(SIGTRAP);
30 #endif
31 
32 #ifdef SIGABRT
33     SIGNO_CASE(SIGABRT);
34 #endif
35 
36 #ifdef SIGIOT
37 #if SIGABRT != SIGIOT
38     SIGNO_CASE(SIGIOT);
39 #endif
40 #endif
41 
42 #ifdef SIGBUS
43     SIGNO_CASE(SIGBUS);
44 #endif
45 
46 #ifdef SIGFPE
47     SIGNO_CASE(SIGFPE);
48 #endif
49 
50 #ifdef SIGKILL
51     SIGNO_CASE(SIGKILL);
52 #endif
53 
54 #ifdef SIGUSR1
55     SIGNO_CASE(SIGUSR1);
56 #endif
57 
58 #ifdef SIGSEGV
59     SIGNO_CASE(SIGSEGV);
60 #endif
61 
62 #ifdef SIGUSR2
63     SIGNO_CASE(SIGUSR2);
64 #endif
65 
66 #ifdef SIGPIPE
67     SIGNO_CASE(SIGPIPE);
68 #endif
69 
70 #ifdef SIGALRM
71     SIGNO_CASE(SIGALRM);
72 #endif
73 
74     SIGNO_CASE(SIGTERM);
75 
76 #ifdef SIGCHLD
77     SIGNO_CASE(SIGCHLD);
78 #endif
79 
80 #ifdef SIGSTKFLT
81     SIGNO_CASE(SIGSTKFLT);
82 #endif
83 
84 #ifdef SIGCONT
85     SIGNO_CASE(SIGCONT);
86 #endif
87 
88 #ifdef SIGSTOP
89     SIGNO_CASE(SIGSTOP);
90 #endif
91 
92 #ifdef SIGTSTP
93     SIGNO_CASE(SIGTSTP);
94 #endif
95 
96 #ifdef SIGBREAK
97     SIGNO_CASE(SIGBREAK);
98 #endif
99 
100 #ifdef SIGTTIN
101     SIGNO_CASE(SIGTTIN);
102 #endif
103 
104 #ifdef SIGTTOU
105     SIGNO_CASE(SIGTTOU);
106 #endif
107 
108 #ifdef SIGURG
109     SIGNO_CASE(SIGURG);
110 #endif
111 
112 #ifdef SIGXCPU
113     SIGNO_CASE(SIGXCPU);
114 #endif
115 
116 #ifdef SIGXFSZ
117     SIGNO_CASE(SIGXFSZ);
118 #endif
119 
120 #ifdef SIGVTALRM
121     SIGNO_CASE(SIGVTALRM);
122 #endif
123 
124 #ifdef SIGPROF
125     SIGNO_CASE(SIGPROF);
126 #endif
127 
128 #ifdef SIGWINCH
129     SIGNO_CASE(SIGWINCH);
130 #endif
131 
132 #ifdef SIGIO
133     SIGNO_CASE(SIGIO);
134 #endif
135 
136 #ifdef SIGPOLL
137 #if SIGPOLL != SIGIO
138     SIGNO_CASE(SIGPOLL);
139 #endif
140 #endif
141 
142 #ifdef SIGLOST
143 #if SIGLOST != SIGABRT
144     SIGNO_CASE(SIGLOST);
145 #endif
146 #endif
147 
148 #ifdef SIGPWR
149 #if SIGPWR != SIGLOST
150     SIGNO_CASE(SIGPWR);
151 #endif
152 #endif
153 
154 #ifdef SIGINFO
155 #if !defined(SIGPWR) || SIGINFO != SIGPWR
156     SIGNO_CASE(SIGINFO);
157 #endif
158 #endif
159 
160 #ifdef SIGSYS
161     SIGNO_CASE(SIGSYS);
162 #endif
163 
164     default:
165       return "";
166   }
167 }
168 
169 }  // namespace node
170