| #include "node.h" | |
| #include <csignal> | |
| namespace node { | |
| const char* signo_string(int signo) { | |
| #define SIGNO_CASE(e) \ | |
| case e: \ | |
| return #e; | |
| switch (signo) { | |
| #ifdef SIGHUP | |
| SIGNO_CASE(SIGHUP); | |
| #endif | |
| #ifdef SIGINT | |
| SIGNO_CASE(SIGINT); | |
| #endif | |
| #ifdef SIGQUIT | |
| SIGNO_CASE(SIGQUIT); | |
| #endif | |
| #ifdef SIGILL | |
| SIGNO_CASE(SIGILL); | |
| #endif | |
| #ifdef SIGTRAP | |
| SIGNO_CASE(SIGTRAP); | |
| #endif | |
| #ifdef SIGABRT | |
| SIGNO_CASE(SIGABRT); | |
| #endif | |
| #ifdef SIGIOT | |
| #if SIGABRT != SIGIOT | |
| SIGNO_CASE(SIGIOT); | |
| #endif | |
| #endif | |
| #ifdef SIGBUS | |
| SIGNO_CASE(SIGBUS); | |
| #endif | |
| #ifdef SIGFPE | |
| SIGNO_CASE(SIGFPE); | |
| #endif | |
| #ifdef SIGKILL | |
| SIGNO_CASE(SIGKILL); | |
| #endif | |
| #ifdef SIGUSR1 | |
| SIGNO_CASE(SIGUSR1); | |
| #endif | |
| #ifdef SIGSEGV | |
| SIGNO_CASE(SIGSEGV); | |
| #endif | |
| #ifdef SIGUSR2 | |
| SIGNO_CASE(SIGUSR2); | |
| #endif | |
| #ifdef SIGPIPE | |
| SIGNO_CASE(SIGPIPE); | |
| #endif | |
| #ifdef SIGALRM | |
| SIGNO_CASE(SIGALRM); | |
| #endif | |
| SIGNO_CASE(SIGTERM); | |
| #ifdef SIGCHLD | |
| SIGNO_CASE(SIGCHLD); | |
| #endif | |
| #ifdef SIGSTKFLT | |
| SIGNO_CASE(SIGSTKFLT); | |
| #endif | |
| #ifdef SIGCONT | |
| SIGNO_CASE(SIGCONT); | |
| #endif | |
| #ifdef SIGSTOP | |
| SIGNO_CASE(SIGSTOP); | |
| #endif | |
| #ifdef SIGTSTP | |
| SIGNO_CASE(SIGTSTP); | |
| #endif | |
| #ifdef SIGBREAK | |
| SIGNO_CASE(SIGBREAK); | |
| #endif | |
| #ifdef SIGTTIN | |
| SIGNO_CASE(SIGTTIN); | |
| #endif | |
| #ifdef SIGTTOU | |
| SIGNO_CASE(SIGTTOU); | |
| #endif | |
| #ifdef SIGURG | |
| SIGNO_CASE(SIGURG); | |
| #endif | |
| #ifdef SIGXCPU | |
| SIGNO_CASE(SIGXCPU); | |
| #endif | |
| #ifdef SIGXFSZ | |
| SIGNO_CASE(SIGXFSZ); | |
| #endif | |
| #ifdef SIGVTALRM | |
| SIGNO_CASE(SIGVTALRM); | |
| #endif | |
| #ifdef SIGPROF | |
| SIGNO_CASE(SIGPROF); | |
| #endif | |
| #ifdef SIGWINCH | |
| SIGNO_CASE(SIGWINCH); | |
| #endif | |
| #ifdef SIGIO | |
| SIGNO_CASE(SIGIO); | |
| #endif | |
| #ifdef SIGPOLL | |
| #if SIGPOLL != SIGIO | |
| SIGNO_CASE(SIGPOLL); | |
| #endif | |
| #endif | |
| #ifdef SIGLOST | |
| #if SIGLOST != SIGABRT | |
| SIGNO_CASE(SIGLOST); | |
| #endif | |
| #endif | |
| #ifdef SIGPWR | |
| #if SIGPWR != SIGLOST | |
| SIGNO_CASE(SIGPWR); | |
| #endif | |
| #endif | |
| #ifdef SIGINFO | |
| #if !defined(SIGPWR) || SIGINFO != SIGPWR | |
| SIGNO_CASE(SIGINFO); | |
| #endif | |
| #endif | |
| #ifdef SIGSYS | |
| SIGNO_CASE(SIGSYS); | |
| #endif | |
| default: | |
| return ""; | |
| } | |
| } | |
| } // namespace node |