14 /* terminal line hangup */
\r
19 /* interrupt program */
\r
29 /* illegal instruction */
\r
39 /* abnormal termination triggered by abort call */
\r
44 /* floating point exception */
\r
59 /* segment violation */
\r
64 /* non-existent system call invoked */
\r
69 /* write on a pipe with no reader */
\r
74 /* real-time timer expired */
\r
79 /* software termination signal from kill */
\r
84 /* urgent condition present on socket */
\r
89 /* stop (cannot be caught orignored) */
\r
94 /* stop signal generated from keyboard */
\r
99 /* continue after stop */
\r
104 /* child status has changed */
\r
109 /* background read attempted from control terminal */
\r
114 /* background write attempted to control terminal */
\r
119 /* I/O is possible on a descriptor see fcntl(2)) */
\r
124 /* cpu time limit exceeded (see setrlimit(2)) */
\r
129 /* file size limit exceeded (see setrlimit(2)) */
\r
134 /* virtual time alarm (see setitimer(2)) */
\r
136 #define SIGVTALRM 26
\r
139 /* profiling timer alarm (see setitimer(2)) */
\r
144 /* window size change */
\r
146 #define SIGWINCH 28
\r
149 /* user defined signal 1 */
\r
154 /* user defined signal 2 */
\r
158 \r \r int
\r is_an_unhandled_exception(DWORD exit_code);
161 *return a non-zero value if status was returned for a child process that terminated normally.
\r
163 #define WIFEXITED(__status) !is_an_unhandled_exception((__status))
\r
165 /* if the value of WIFEXITED(__status) is non-zero, this macro evaluates the value the child
\r
166 * process returned from main().
\r
168 #define WEXITSTATUS(__status) (__status)
\r
170 /* return a non-zero value if status was returned for a child process that terminated due to the
\r
171 * receipt of a signal that was not caught
\r
173 #define WIFSIGNALED(__status) is_an_unhandled_exception((__status))
\r
175 /* if the value of WIFSIGNALED(__status) is non-zero, this macro evaluates to the number of the
\r
176 * signal that caused the termination of the child process.
\r
178 #define WTERMSIG(__status) (__status)
\r
180 #endif /* _XBT_WIN32 */
\r
183 const char *
\r signal_name(DWORD got, const char *expected);
186 const char *
\r signal_name(unsigned int got, char *expected);
189 \r\rint
\r sig_exists(const char *sig_name);
195 #endif /* !__XSIGNAL_H */
\r