|
12 | 12 | #include <linux/wait.h> |
13 | 13 |
|
14 | 14 | // Wait status info macros |
15 | | -#define __WEXITSTATUS(status) (((status)&0xff00) >> 8) |
16 | | -#define __WTERMSIG(status) ((status)&0x7f) |
| 15 | +#define __WEXITSTATUS(status) (((status) & 0xff00) >> 8) |
| 16 | +#define __WTERMSIG(status) ((status) & 0x7f) |
17 | 17 | #define __WIFEXITED(status) (__WTERMSIG(status) == 0) |
| 18 | +#define __WIFSIGNALED(status) ((__WTERMSIG(status) + 1) >= 2) |
| 19 | +#define __WIFSTOPPED(status) (__WTERMSIG(status) == 0x7f) |
| 20 | +#define __WIFCONTINUED(status) ((status) == __W_CONTINUED) |
| 21 | +#define __WCOREDUMP(status) ((status) & __WCOREFLAG) |
18 | 22 |
|
19 | 23 | // Macros for constructing status values. |
20 | 24 | #define __W_EXITCODE(ret, sig) ((ret) << 8 | (sig)) |
21 | 25 | #define __W_STOPCODE(sig) ((sig) << 8 | 0x7f) |
22 | 26 | #define __W_CONTINUED 0xffff |
23 | 27 | #define __WCOREFLAG 0x80 |
24 | 28 |
|
| 29 | +#define WCOREDUMP(status) ((status) & __WCOREFLAG) |
25 | 30 | #define WEXITSTATUS(status) __WEXITSTATUS(status) |
26 | | -#define WTERMSIG(status) __WTERMSIG(status) |
| 31 | +#define WIFCONTINUED(status) __WIFCONTINUED(status) |
27 | 32 | #define WIFEXITED(status) __WIFEXITED(status) |
| 33 | +#define WIFSIGNALED(status) __WIFSIGNALED(status) |
| 34 | +#define WIFSTOPPED(status) __WIFSTOPPED(status) |
| 35 | +#define WSTOPSIG(status) WEXITSTATUS(status) |
| 36 | +#define WTERMSIG(status) __WTERMSIG(status) |
28 | 37 |
|
29 | 38 | #define WCOREFLAG __WCOREFLAG |
30 | 39 | #define W_EXITCODE(ret, sig) __W_EXITCODE(ret, sig) |
|
0 commit comments