Mercurial > hg > xemacs-beta
diff src/syswait.h @ 155:43dd3413c7c7 r20-3b4
Import from CVS: tag r20-3b4
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:39:39 +0200 |
parents | 376386a54a3c |
children | 15872534500d |
line wrap: on
line diff
--- a/src/syswait.h Mon Aug 13 09:38:27 2007 +0200 +++ b/src/syswait.h Mon Aug 13 09:39:39 2007 +0200 @@ -19,110 +19,32 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* Synched up with: FSF 19.30. */ - -/* Cleaned up by Ben Wing. */ - -/* Define the structure that the wait system call stores. - On many systems, there is a structure defined for this. - But on vanilla-ish USG systems there is not. +/* Cleanup by Martin Buchholz for Autoconf 2 (see the Autoconf Manual) */ - NOTE: POSIX specifies that int, rather than union wait, - be used. BSD systems based on BSD 4.3+ or newer generally - have int, but those based on BSD 4.3 or older have union wait. - */ - -#ifndef VMS - -# ifdef HAVE_SYS_WAIT_H -# include <sys/wait.h> -# endif - -# if !defined (HAVE_UNION_WAIT) /* the POSIX / SYSV way */ +#include <sys/types.h> -# define WAITTYPE int -# 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 -# ifdef WEXITSTATUS -# define WRETCODE(w) WEXITSTATUS (w) -# else -# define WRETCODE(w) ((w) >> 8) -# endif -# 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 - -# else /* the older BSD way */ - -# define WAITTYPE union wait +#ifdef HAVE_SYS_WAIT_H +#include <sys/wait.h> +#endif -# ifndef WRETCODE -# ifdef WEXITSTATUS -# define WRETCODE(w) WEXITSTATUS(w) -# else -# define WRETCODE(w) w.w_retcode -# endif -# endif - -# undef WCOREDUMP /* Later BSDs define this name differently. */ -# define WCOREDUMP(w) w.w_coredump - -# 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 */ - -# ifndef WTERMSIG -# define WTERMSIG(w) w.w_termsig -# endif -# ifndef WSTOPSIG -# define WSTOPSIG(w) w.w_stopsig -# endif -# ifndef WIFSTOPPED -# define WIFSTOPPED(w) (WTERMSIG (w) == 0177) -# endif -# ifndef WIFSIGNALED -# define WIFSIGNALED(w) (WTERMSIG (w) != 0177 && (WSTOPSIG (w)) == 0) -# endif -# ifndef WIFEXITED -# define WIFEXITED(w) (WTERMSIG (w) == 0) -# endif - -# endif /* HAVE_UNION_WAIT */ - -#else /* VMS */ - -# define WAITTYPE int -# define WIFSTOPPED(w) 0 -# define WIFSIGNALED(w) 0 -# define WIFEXITED(w) ((w) != -1) -# define WRETCODE(w) (w) -# define WSTOPSIG(w) (w) -# define WCOREDUMP(w) 0 -# define WTERMSIG(w) (w) -# include <ssdef.h> -# include <iodef.h> -# include <clidef.h> -# include "vmsproc.h" - -#endif /* VMS */ +#ifndef WEXITSTATUS +#define WEXITSTATUS(s) ((s) >> 8) +#endif +#ifndef WIFEXITED +#define WIFEXITED(s) (((s) & 0xff) == 0) +#endif +#ifndef WIFSTOPPED +#define WIFSTOPPED(s) (((s) & 0xff) == 0x7f) +#endif +#ifndef WIFSIGNALED +#define WIFSIGNALED(s) (((unsigned int)((s)-1) & 0xffff) < 0xff) +#endif +#ifndef WCOREDUMP +#define WCOREDUMP(s) ((s) & 0200) +#endif +#ifndef WTERMSIG +#define WTERMSIG(s) ((s) & 0x7f) +#endif +#ifndef WSTOPSIG +#define WSTOPSIG(s) ((s) >> 8) +#endif