Mercurial > emacs
annotate src/syswait.h @ 23323:0800a4f84757
(underlying_strftime):
Set the buffer to a nonzero value before calling
strftime, and check to see whether strftime has set the buffer to zero.
This lets us distinguish between an empty buffer and an error.
I'm installing this patch by hand now; it will be superseded whenever
the glibc sources are propagated back to fsf.org.
| author | Paul Eggert <eggert@twinsun.com> |
|---|---|
| date | Fri, 25 Sep 1998 21:40:23 +0000 |
| parents | 02044b05d8e0 |
| children | 0c8b413f3f35 |
| rev | line source |
|---|---|
| 4626 | 1 /* Define wait system call interface for Emacs. |
| 11235 | 2 Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc. |
| 4626 | 3 |
| 4 This file is part of GNU Emacs. | |
| 5 | |
| 6 GNU Emacs is free software; you can redistribute it and/or modify | |
| 7 it under the terms of the GNU General Public License as published by | |
| 8 the Free Software Foundation; either version 2, or (at your option) | |
| 9 any later version. | |
| 10 | |
| 11 GNU Emacs is distributed in the hope that it will be useful, | |
| 12 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 14 GNU General Public License for more details. | |
| 15 | |
| 16 You should have received a copy of the GNU General Public License | |
| 17 along with GNU Emacs; see the file COPYING. If not, write to | |
|
14186
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
11235
diff
changeset
|
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
|
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
11235
diff
changeset
|
19 Boston, MA 02111-1307, USA. */ |
| 4626 | 20 |
| 21 /* Define the structure that the wait system call stores. | |
| 22 On many systems, there is a structure defined for this. | |
| 23 But on vanilla-ish USG systems there is not. */ | |
| 24 | |
| 25 #ifndef VMS | |
| 26 #ifndef WAITTYPE | |
|
10773
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
27 |
|
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
28 #ifdef WAIT_USE_INT |
|
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
29 /* Some systems have union wait in their header, but we should use |
|
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
30 int regardless of that. */ |
|
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
31 #include <sys/wait.h> |
|
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
32 #define WAITTYPE int |
|
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
33 #define WRETCODE(w) WEXITSTATUS (w) |
|
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
34 |
|
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
35 #else /* not WAIT_USE_INT */ |
|
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
36 |
|
16220
02044b05d8e0
Replaced symbol BSD with BSD_SYSTEM.
Karl Heuer <kwzh@gnu.org>
parents:
15000
diff
changeset
|
37 #if (!defined (BSD_SYSTEM) && !defined (UNIPLUS) && !defined (STRIDE) && !(defined (HPUX) && !defined (NOMULTIPLEJOBS)) && !defined (HAVE_WAIT_HEADER)) |
| 4626 | 38 #define WAITTYPE int |
| 39 #define WIFSTOPPED(w) ((w&0377) == 0177) | |
| 40 #define WIFSIGNALED(w) ((w&0377) != 0177 && (w&~0377) == 0) | |
| 41 #define WIFEXITED(w) ((w&0377) == 0) | |
| 42 #define WRETCODE(w) (w >> 8) | |
| 43 #define WSTOPSIG(w) (w >> 8) | |
| 44 #define WTERMSIG(w) (w & 0377) | |
| 45 #ifndef WCOREDUMP | |
| 46 #define WCOREDUMP(w) ((w&0200) != 0) | |
| 47 #endif | |
|
10773
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
48 |
| 4626 | 49 #else |
|
10773
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
50 |
| 4626 | 51 #ifdef BSD4_1 |
| 52 #include <wait.h> | |
| 53 #else | |
| 54 #include <sys/wait.h> | |
| 55 #endif /* not BSD 4.1 */ | |
| 56 | |
| 57 #define WAITTYPE union wait | |
| 58 #define WRETCODE(w) w.w_retcode | |
|
6015
1a2b17eab8d9
[BSD]: #undef WCOREDUMP before defining it.
Roland McGrath <roland@gnu.org>
parents:
4955
diff
changeset
|
59 #undef WCOREDUMP /* Later BSDs define this name differently. */ |
| 4626 | 60 #define WCOREDUMP(w) w.w_coredump |
| 61 | |
| 4955 | 62 #if defined (HPUX) || defined (convex) |
| 4626 | 63 /* HPUX version 7 has broken definitions of these. */ |
| 4955 | 64 /* pvogel@convex.com says the convex does too. */ |
| 4626 | 65 #undef WTERMSIG |
| 66 #undef WSTOPSIG | |
| 67 #undef WIFSTOPPED | |
| 68 #undef WIFSIGNALED | |
| 69 #undef WIFEXITED | |
| 4955 | 70 #endif /* HPUX | convex */ |
| 4626 | 71 |
| 72 #ifndef WTERMSIG | |
| 73 #define WTERMSIG(w) w.w_termsig | |
| 74 #endif | |
| 75 #ifndef WSTOPSIG | |
| 76 #define WSTOPSIG(w) w.w_stopsig | |
| 77 #endif | |
| 78 #ifndef WIFSTOPPED | |
| 79 #define WIFSTOPPED(w) (WTERMSIG (w) == 0177) | |
| 80 #endif | |
| 81 #ifndef WIFSIGNALED | |
| 82 #define WIFSIGNALED(w) (WTERMSIG (w) != 0177 && (WSTOPSIG (w)) == 0) | |
| 83 #endif | |
| 84 #ifndef WIFEXITED | |
| 85 #define WIFEXITED(w) (WTERMSIG (w) == 0) | |
| 86 #endif | |
|
16220
02044b05d8e0
Replaced symbol BSD with BSD_SYSTEM.
Karl Heuer <kwzh@gnu.org>
parents:
15000
diff
changeset
|
87 #endif /* BSD_SYSTEM || UNIPLUS || STRIDE || HPUX */ |
|
10773
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
88 #endif /* not WAIT_USE_INT */ |
| 4626 | 89 #endif /* no WAITTYPE */ |
|
10773
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
90 |
| 4626 | 91 #else /* VMS */ |
|
10773
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
92 |
| 4626 | 93 #define WAITTYPE int |
| 94 #define WIFSTOPPED(w) 0 | |
| 95 #define WIFSIGNALED(w) 0 | |
| 96 #define WIFEXITED(w) ((w) != -1) | |
| 97 #define WRETCODE(w) (w) | |
| 98 #define WSTOPSIG(w) (w) | |
| 99 #define WCOREDUMP(w) 0 | |
| 100 #define WTERMSIG(w) (w) | |
| 101 #include <ssdef.h> | |
| 102 #include <iodef.h> | |
| 103 #include <clidef.h> | |
| 104 #include "vmsproc.h" | |
|
10773
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
105 |
| 4626 | 106 #endif /* VMS */ |
