diff options
author | Rich Felker <dalias@aerifal.cx> | 2011-02-19 02:23:29 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2011-02-19 02:23:29 -0500 |
commit | f3ef7a61245c5ace26ca13bccf14a28876ea7bfc (patch) | |
tree | 4ae8bcc4e7bc772e28e89b59e58adf9f736df271 /arch | |
parent | b386d8186226f28e1b610be657a89e357768efa1 (diff) | |
download | musl-f3ef7a61245c5ace26ca13bccf14a28876ea7bfc.tar.gz musl-f3ef7a61245c5ace26ca13bccf14a28876ea7bfc.tar.bz2 musl-f3ef7a61245c5ace26ca13bccf14a28876ea7bfc.tar.xz musl-f3ef7a61245c5ace26ca13bccf14a28876ea7bfc.zip |
add missing WIFCONTINUED macro and improve WIFSIGNALED
Diffstat (limited to 'arch')
-rw-r--r-- | arch/i386/bits/wexitstatus.h | 3 | ||||
-rw-r--r-- | arch/x86_64/bits/wexitstatus.h | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/arch/i386/bits/wexitstatus.h b/arch/i386/bits/wexitstatus.h index 34a80238..591d401a 100644 --- a/arch/i386/bits/wexitstatus.h +++ b/arch/i386/bits/wexitstatus.h @@ -5,5 +5,6 @@ #define WCOREDUMP(s) ((s) & 0x80) #define WIFEXITED(s) (!WTERMSIG(s)) #define WIFSTOPPED(s) (((s) & 0xff) == 0x7f) -#define WIFSIGNALED(s) (!WIFSTOPPED(s) && !WIFEXITED(s)) +#define WIFSIGNALED(s) (((signed char) (((s) & 0x7f) + 1) >> 1) > 0) +#define WIFCONTINUED(s) ((s) == 0xffff) #endif diff --git a/arch/x86_64/bits/wexitstatus.h b/arch/x86_64/bits/wexitstatus.h index 34a80238..591d401a 100644 --- a/arch/x86_64/bits/wexitstatus.h +++ b/arch/x86_64/bits/wexitstatus.h @@ -5,5 +5,6 @@ #define WCOREDUMP(s) ((s) & 0x80) #define WIFEXITED(s) (!WTERMSIG(s)) #define WIFSTOPPED(s) (((s) & 0xff) == 0x7f) -#define WIFSIGNALED(s) (!WIFSTOPPED(s) && !WIFEXITED(s)) +#define WIFSIGNALED(s) (((signed char) (((s) & 0x7f) + 1) >> 1) > 0) +#define WIFCONTINUED(s) ((s) == 0xffff) #endif |