X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/b9b1cc1463ecd712077a63f83eb28cddfe85ac47..0877d0dc24ee792b9b14592869ea1aa0934aee58:/src/syswait.h diff --git a/src/syswait.h b/src/syswait.h index 786cb62226..03e5cb5fe2 100644 --- a/src/syswait.h +++ b/src/syswait.h @@ -1,6 +1,5 @@ /* Define wait system call interface for Emacs. - Copyright (C) 1993, 1994, 1995, 2000, 2001, 2002, 2003, 2004, - 2005, 2006, 2007, 2008 Free Software Foundation, Inc. + Copyright (C) 1993-1995, 2000-2013 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -24,13 +23,7 @@ along with GNU Emacs. If not, see . */ #ifndef EMACS_SYSWAIT_H #define EMACS_SYSWAIT_H -#ifndef VMS - -/* This is now really the approach recommended by Autoconf. If this - doesn't cause trouble anywhere, remove the original code, which is - #if'd out below. */ - -#if 1 +#include #include #ifdef HAVE_SYS_WAIT_H /* We have sys/wait.h with POSIXoid definitions. */ @@ -59,98 +52,11 @@ along with GNU Emacs. If not, see . */ #define WTERMSIG(status) ((status) & 0x7f) #endif -#undef WAITTYPE -#define WAITTYPE int -#undef WRETCODE -#define WRETCODE(status) WEXITSTATUS (status) - -#else /* 0 */ - -#ifndef WAITTYPE +/* Defined in process.c. */ +extern void record_deleted_pid (pid_t); -#ifdef WAIT_USE_INT -/* Some systems have union wait in their header, but we should use - int regardless of that. */ -#include -#define WAITTYPE int -#define WRETCODE(w) WEXITSTATUS (w) - -#else /* not WAIT_USE_INT */ - -#if (!defined (BSD_SYSTEM) && !(defined (HPUX) && !defined (NOMULTIPLEJOBS)) && !defined (HAVE_WAIT_HEADER)) -#define WAITTYPE int -#define WIFSTOPPED(w) ((w&0377) == 0177) -#define WIFSIGNALED(w) ((w&0377) != 0177 && (w&~0377) == 0) -#define WIFEXITED(w) ((w&0377) == 0) -#define WRETCODE(w) (w >> 8) -#define WSTOPSIG(w) (w >> 8) -#define WTERMSIG(w) (w & 0177) -#ifndef WCOREDUMP -#define WCOREDUMP(w) ((w&0200) != 0) -#endif - -#else - -#ifdef BSD4_1 -#include -#else -#include -#endif /* not BSD 4.1 */ - -#define WAITTYPE union wait -#define WRETCODE(w) w.w_retcode -#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 /* BSD_SYSTEM || HPUX */ -#endif /* not WAIT_USE_INT */ -#endif /* no WAITTYPE */ - -#endif /* 0 */ - -#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 -#include -#include -#include "vmsproc.h" - -#endif /* VMS */ +/* Defined in sysdep.c. */ +extern void wait_for_termination (pid_t, int *, bool); +extern pid_t child_status_changed (pid_t, int *, int); #endif /* EMACS_SYSWAIT_H */ - -/* arch-tag: 7e5d9719-ec66-4b6f-89bb-563eea16a899 - (do not change this comment) */