#include #include #include #include static const char *sigstring[] = { "Signal 0", "Hangup", "Interrupt", "Quit", "Illegal instruction", "Trace/breakpoint trap", "IOT trap", "EMT trap", "Floating point exception", "Killed", "Bus error", "Segmentation fault", "Bad system call", "Broken pipe", "Alarm clock", "Terminated", "Urgent I/O condition", "Stopped (signal)", "Stopped", "Continued", "Child exited", "Stopped (tty input)", "Stopped (tty output)", "I/O possible", "CPU time limit exceeded", "File size limit exceeded", "Virtual timer expired", "Profiling timer expired", "Window changed", "Resource lost", "User defined signal 1", "User defined signal 2" }; char * strsignal (int sig) { if (sig < 0 || sig >= __SIGRTMIN) { char *buffer; struct _reent *ptr; ptr = _REENT; _REENT_CHECK_SIGNAL_BUF(ptr); buffer = _REENT_SIGNAL_BUF(ptr); if (sig < 0 || sig > __SIGRTMAX) siprintf (buffer, "Unknown signal %d", sig); else siprintf (buffer, "Real-time signal %d", sig - __SIGRTMIN); return buffer; } else return sigstring[sig]; }