1 #include "node.h" 2 3 #include <csignal> 4 5 namespace node { 6 signo_string(int signo)7const 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