#define N SigNotify
#define K SigKill
#define T SigThrow
#define P SigPanic
#define D SigDefault
SigTab runtimeĀ·sigtab[] = {
         0, "SIGNONE: no trap",
         N+K, "SIGHUP: terminal line hangup",
         N+K, "SIGINT: interrupt",
         N+T, "SIGQUIT: quit",
         T, "SIGILL: illegal instruction",
         T, "SIGTRAP: trace trap",
         N+T, "SIGABRT: abort",
         T, "SIGEMT: emulate instruction executed",
         P, "SIGFPE: floating-point exception",
         0, "SIGKILL: kill",
                P, "SIGBUS: bus error",
                P, "SIGSEGV: segmentation violation",
                T, "SIGSYS: bad system call",
                N, "SIGPIPE: write to broken pipe",
                N, "SIGALRM: alarm clock",
                N+K, "SIGTERM: termination",
                N, "SIGURG: urgent condition on socket",
                0, "SIGSTOP: stop",
                N+D, "SIGTSTP: keyboard stop",
                0, "SIGCONT: continue after stop",
                N, "SIGCHLD: child status has changed",
                N+D, "SIGTTIN: background read from tty",
                N+D, "SIGTTOU: background write to tty",
                N, "SIGIO: i/o now possible",
                N, "SIGXCPU: cpu limit exceeded",
                N, "SIGXFSZ: file size limit exceeded",
                N, "SIGVTALRM: virtual alarm clock",
                N, "SIGPROF: profiling alarm clock",
                N, "SIGWINCH: window size change",
                N, "SIGINFO: status request from keyboard",
                N, "SIGUSR1: user-defined signal 1",
                N, "SIGUSR2: user-defined signal 2",
};
#undef N
#undef K
#undef T
#undef P
#undef D