Browse Source

fix issues with wait constants in stdlib.h

the W* namespace is not reserved, so the nonstandard ones must be
moved under extension features. also WNOHANG and WUNTRACED were
missing.
Rich Felker 12 years ago
parent
commit
4eb4844b31
2 changed files with 5 additions and 6 deletions
  1. 5 4
      include/stdlib.h
  2. 0 2
      include/sys/wait.h

+ 5 - 4
include/stdlib.h

@@ -86,16 +86,15 @@ size_t wcstombs (char *__restrict, const wchar_t *__restrict, size_t);
  || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \
  || defined(_BSD_SOURCE)
 
-#ifndef WEXITSTATUS
+#define WNOHANG    1
+#define WUNTRACED  2
+
 #define WEXITSTATUS(s) (((s) & 0xff00) >> 8)
 #define WTERMSIG(s) ((s) & 0x7f)
 #define WSTOPSIG(s) WEXITSTATUS(s)
-#define WCOREDUMP(s) ((s) & 0x80)
 #define WIFEXITED(s) (!WTERMSIG(s))
 #define WIFSTOPPED(s) (((s) & 0xff) == 0x7f)
 #define WIFSIGNALED(s) (((signed char) (((s) & 0x7f) + 1) >> 1) > 0)
-#define WIFCONTINUED(s) ((s) == 0xffff)
-#endif
 
 int posix_memalign (void **, size_t, size_t);
 int setenv (const char *, const char *, int);
@@ -142,6 +141,8 @@ void lcong48 (unsigned short [7]);
 char *mktemp (char *);
 void *valloc (size_t);
 void *memalign(size_t, size_t);
+#define WCOREDUMP(s) ((s) & 0x80)
+#define WIFCONTINUED(s) ((s) == 0xffff)
 #endif
 
 #ifdef _GNU_SOURCE

+ 0 - 2
include/sys/wait.h

@@ -37,7 +37,6 @@ pid_t wait4 (pid_t, int *, int, struct rusage *);
 #define P_PID  1
 #define P_PGID 2
 
-#ifndef WEXITSTATUS
 #define WEXITSTATUS(s) (((s) & 0xff00) >> 8)
 #define WTERMSIG(s) ((s) & 0x7f)
 #define WSTOPSIG(s) WEXITSTATUS(s)
@@ -46,7 +45,6 @@ pid_t wait4 (pid_t, int *, int, struct rusage *);
 #define WIFSTOPPED(s) (((s) & 0xff) == 0x7f)
 #define WIFSIGNALED(s) (((signed char) (((s) & 0x7f) + 1) >> 1) > 0)
 #define WIFCONTINUED(s) ((s) == 0xffff)
-#endif
 
 #ifdef __cplusplus
 }