38#include "blocxx/BLOCXX_config.h"
51 struct signalNameMapping
59 bool operator <(
const signalNameMapping& s1,
const signalNameMapping& s2)
61 return s1.sig < s2.sig;
63 bool operator ==(
const signalNameMapping& s1,
const signalNameMapping& s2)
65 return s1.sig == s2.sig;
72 const signalNameMapping supportedSignalMapping[] =
75 { SIGILL,
" SIGILL" },
76 { SIGABRT,
"SIGABRT" },
77 { SIGFPE,
" SIGFPE" },
78 { SIGSEGV,
"SIGSEGV" },
79 { SIGTERM,
"SIGTERM" },
81 { SIGBREAK,
"SIGBREAK" }
84 { SIGQUIT,
"SIGQUIT" },
85 { SIGKILL,
"SIGKILL" },
86 { SIGPIPE,
"SIGPIPE" },
87 { SIGALRM,
"SIGALRM" },
88 { SIGUSR1,
"SIGUSR1" },
89 { SIGUSR2,
"SIGUSR2" },
90 { SIGCHLD,
"SIGCHLD" },
91 { SIGCONT,
"SIGCONT" },
92 { SIGSTOP,
"SIGSTOP" },
93 { SIGTSTP,
"SIGTSTP" },
94 { SIGTTIN,
"SIGTTIN" },
95 { SIGTTOU,
"SIGTTOU" },
98 { SIGPOLL,
"SIGPOLL" },
100 { SIGPROF,
"SIGPROF" },
101 { SIGSYS,
"SIGSYS" },
102 { SIGTRAP,
"SIGTRAP" },
103 { SIGURG,
"SIGURG" },
104 { SIGVTALRM,
"SIGVTALRM" },
105 { SIGXCPU,
"SIGXCPU" },
106 { SIGXFSZ,
"SIGXFSZ" },
108 { SIGEMT,
"SIGEMT" },
111 { SIGSTKFLT,
"SIGSTKFLT" },
114 { SIGPWR,
"SIGPWR" },
117 { SIGLOST,
"SIGLOST" },
119 { SIGWINCH,
"SIGWINCH" },
121 { SIGINFO,
"SIGINFO" },
123 { SIGIOT,
"SIGIOT" },
126 { SIGCLD,
"SIGCLD" },
129 { SIGUNUSED,
"SIGUNUSED" }
137 signalNameMapping targetSignal = {
sig,
"" };
139 const signalNameMapping* begin = supportedSignalMapping;
140 const signalNameMapping* end = begin +
sizeof(supportedSignalMapping) /
sizeof(*supportedSignalMapping);
142 const signalNameMapping* location = std::find(begin, end, targetSignal);
144 if( location != end )
146 return location->name;
const char * signalName(int sig)
bool operator<(const Array< T > &x, const Array< T > &y)
bool operator==(const Array< T > &x, const Array< T > &y)