Mercurial > emacs
changeset 30465:d57d77adc6da
Move some definitions.
(HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
[!HAVE_SYS_WAIT_H]: Define things unconditionally. More
perspicuous definitions.
(WTERMSIG): Fix bit pattern used.
author | Dave Love <fx@gnu.org> |
---|---|
date | Wed, 26 Jul 2000 11:06:05 +0000 |
parents | 132287a7c6d3 |
children | 2e7347cb8792 |
files | src/syswait.h |
diffstat | 1 files changed, 39 insertions(+), 42 deletions(-) [+] |
line wrap: on
line diff
--- a/src/syswait.h Wed Jul 26 10:51:09 2000 +0000 +++ b/src/syswait.h Wed Jul 26 11:06:05 2000 +0000 @@ -32,52 +32,49 @@ below. */ #if 1 -#undef WAITTYPE -#define WAITTYPE int -#define WRETCODE(w) WEXITSTATUS (w) +#include <sys/types.h> -#include <sys/types.h> -#if HAVE_SYS_WAIT_H +/* Old code included a comment that HPUX version 7 has broken + definitions of some of the macros and `the convex' does too. + HAVE_SYS_WAIT_H probably won't be defined on them if they still get + used, but for safety... -- fx */ +#if (defined (HPUX) && !defined (HPUX8)) || defined (convex) +#undef HAVE_SYS_WAIT_H +#endif + +#if defined HAVE_SYS_WAIT_H /* We have sys/wait.h with POSIXoid + definitions. */ + #include <sys/wait.h> +#ifndef WCOREDUMP /* not POSIX */ +#define WCOREDUMP(status) ((status) & 0x80) #endif -#if defined (HPUX) || defined (convex) -/* HPUX version 7 has broken definitions of these. */ -/* pvogel@convex.com says the convex does too. */ -#undef WTERMSIG -#undef WSTOPSIG -#undef WIFSTOPPED -#undef WIFSIGNALED -#undef WIFEXITED -#endif /* HPUX || convex */ +#else /* !HAVE_SYS_WAIT_H */ + +/* Note that sys/wait.h may still be included by stdlib.h or something + according to XPG. */ -#ifndef WEXITSTATUS -# define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8) -#endif -#ifndef WIFEXITED -# define WIFEXITED(stat_val) (((stat_val) & 255) == 0) -#endif -#ifndef WIFSTOPPED -#define WIFSTOPPED(w) ((w&0377) == 0177) -#endif -#ifndef WIFSIGNALED -#define WIFSIGNALED(w) ((w&0377) != 0177 && (w&~0377) == 0) -#endif -#ifndef WIFEXITED -#define WIFEXITED(w) ((w&0377) == 0) -#endif -#ifndef WRETCODE -#define WRETCODE(w) (w >> 8) -#endif -#ifndef WSTOPSIG -#define WSTOPSIG(w) (w >> 8) -#endif -#ifndef WTERMSIG -#define WTERMSIG(w) (w & 0377) -#endif -#ifndef WCOREDUMP -#define WCOREDUMP(w) ((w&0200) != 0) -#endif +#undef WEXITSTATUS +#define WEXITSTATUS(status) (((status) & 0xff00) >> 8) +#undef WIFEXITED +#define WIFEXITED(status) (WTERMSIG(status) == 0) +#undef WIFSTOPPED +#define WIFSTOPPED(status) (((status) & 0xff) == 0x7f) +#undef WIFSIGNALED +#define WIFSIGNALED(status) (!WIFSTOPPED(status) && !WIFEXITED(status)) +#undef WSTOPSIG +#define WSTOPSIG(status) WEXITSTATUS(status) +#undef WTERMSIG +#define WTERMSIG(status) ((status) & 0x7f) +#undef WCOREDUMP +#define WCOREDUMP(status) ((status) & 0x80) +#endif /* HAVE_SYS_WAIT_H */ + +#undef WAITTYPE +#define WAITTYPE int +#undef WRETCODE +#define WRETCODE(status) WEXITSTATUS (status) #else /* !1 */ @@ -99,7 +96,7 @@ #define WIFEXITED(w) ((w&0377) == 0) #define WRETCODE(w) (w >> 8) #define WSTOPSIG(w) (w >> 8) -#define WTERMSIG(w) (w & 0377) +#define WTERMSIG(w) (w & 0177) #ifndef WCOREDUMP #define WCOREDUMP(w) ((w&0200) != 0) #endif