소스 검색

add missing WIFCONTINUED macro and improve WIFSIGNALED

Rich Felker 14 년 전
부모
커밋
f3ef7a6124
2개의 변경된 파일4개의 추가작업 그리고 2개의 파일을 삭제
  1. 2 1
      arch/i386/bits/wexitstatus.h
  2. 2 1
      arch/x86_64/bits/wexitstatus.h

+ 2 - 1
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

+ 2 - 1
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