annotate src/syswait.h @ 97528:184bb2071e3f

mail/: Add new (temporary) libaries for which to test Rmail/mbox such that Rmail/babyl is not affected. This creates a facility/feature called "pmail" (analagous to "rmail") that can be used independently from Rmail for testing purposes. The plan is to replace the "rmail" files eventually and remove "pmail" entirely at that point. In the interim, interested developers can use either Rmail or Pmail or both (which is not recommended for the casual User or the faint of heart).
author Paul Reilly <pmr@pajato.com>
date Mon, 18 Aug 2008 04:51:28 +0000
parents c3512b2085a0
children e038c1a8307c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4626
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1 /* Define wait system call interface for Emacs.
75227
e90d04cd455a Update copyright for years from Emacs 21 to present (mainly adding
Glenn Morris <rgm@gnu.org>
parents: 68651
diff changeset
2 Copyright (C) 1993, 1994, 1995, 2000, 2001, 2002, 2003, 2004,
79759
fc2bcd2a8aad Add 2008 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 78260
diff changeset
3 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
4626
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5 This file is part of GNU Emacs.
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
6
94994
29adfc9354e7 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 87730
diff changeset
7 GNU Emacs is free software: you can redistribute it and/or modify
4626
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
8 it under the terms of the GNU General Public License as published by
94994
29adfc9354e7 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 87730
diff changeset
9 the Free Software Foundation, either version 3 of the License, or
29adfc9354e7 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 87730
diff changeset
10 (at your option) any later version.
4626
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
11
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
12 GNU Emacs is distributed in the hope that it will be useful,
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
15 GNU General Public License for more details.
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
16
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
94994
29adfc9354e7 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 87730
diff changeset
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
4626
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
19
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
20 /* Define the structure that the wait system call stores.
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
21 On many systems, there is a structure defined for this.
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
22 But on vanilla-ish USG systems there is not. */
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
23
30066
0c8b413f3f35 Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents: 16220
diff changeset
24 #ifndef EMACS_SYSWAIT_H
0c8b413f3f35 Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents: 16220
diff changeset
25 #define EMACS_SYSWAIT_H
0c8b413f3f35 Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents: 16220
diff changeset
26
30465
d57d77adc6da Move some definitions.
Dave Love <fx@gnu.org>
parents: 30066
diff changeset
27 #include <sys/types.h>
30066
0c8b413f3f35 Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents: 16220
diff changeset
28
41185
d12c8d3334f4 Delete conditionals for HPUX7, ISC 4.1, and convex.
Richard M. Stallman <rms@gnu.org>
parents: 41138
diff changeset
29 #ifdef HAVE_SYS_WAIT_H /* We have sys/wait.h with POSIXoid definitions. */
46865
971ae7795f13 Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents: 41185
diff changeset
30 #include <sys/wait.h>
971ae7795f13 Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents: 41185
diff changeset
31 #endif /* !HAVE_SYS_WAIT_H */
30465
d57d77adc6da Move some definitions.
Dave Love <fx@gnu.org>
parents: 30066
diff changeset
32
d57d77adc6da Move some definitions.
Dave Love <fx@gnu.org>
parents: 30066
diff changeset
33 #ifndef WCOREDUMP /* not POSIX */
d57d77adc6da Move some definitions.
Dave Love <fx@gnu.org>
parents: 30066
diff changeset
34 #define WCOREDUMP(status) ((status) & 0x80)
30066
0c8b413f3f35 Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents: 16220
diff changeset
35 #endif
46865
971ae7795f13 Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents: 41185
diff changeset
36 #ifndef WEXITSTATUS
30465
d57d77adc6da Move some definitions.
Dave Love <fx@gnu.org>
parents: 30066
diff changeset
37 #define WEXITSTATUS(status) (((status) & 0xff00) >> 8)
46865
971ae7795f13 Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents: 41185
diff changeset
38 #endif
971ae7795f13 Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents: 41185
diff changeset
39 #ifndef WIFEXITED
30465
d57d77adc6da Move some definitions.
Dave Love <fx@gnu.org>
parents: 30066
diff changeset
40 #define WIFEXITED(status) (WTERMSIG(status) == 0)
46865
971ae7795f13 Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents: 41185
diff changeset
41 #endif
971ae7795f13 Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents: 41185
diff changeset
42 #ifndef WIFSTOPPED
30465
d57d77adc6da Move some definitions.
Dave Love <fx@gnu.org>
parents: 30066
diff changeset
43 #define WIFSTOPPED(status) (((status) & 0xff) == 0x7f)
46865
971ae7795f13 Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents: 41185
diff changeset
44 #endif
971ae7795f13 Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents: 41185
diff changeset
45 #ifndef WIFSIGNALED
30465
d57d77adc6da Move some definitions.
Dave Love <fx@gnu.org>
parents: 30066
diff changeset
46 #define WIFSIGNALED(status) (!WIFSTOPPED(status) && !WIFEXITED(status))
46865
971ae7795f13 Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents: 41185
diff changeset
47 #endif
971ae7795f13 Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents: 41185
diff changeset
48 #ifndef WSTOPSIG
30465
d57d77adc6da Move some definitions.
Dave Love <fx@gnu.org>
parents: 30066
diff changeset
49 #define WSTOPSIG(status) WEXITSTATUS(status)
46865
971ae7795f13 Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents: 41185
diff changeset
50 #endif
971ae7795f13 Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents: 41185
diff changeset
51 #ifndef WTERMSIG
30465
d57d77adc6da Move some definitions.
Dave Love <fx@gnu.org>
parents: 30066
diff changeset
52 #define WTERMSIG(status) ((status) & 0x7f)
46865
971ae7795f13 Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents: 41185
diff changeset
53 #endif
30465
d57d77adc6da Move some definitions.
Dave Love <fx@gnu.org>
parents: 30066
diff changeset
54
d57d77adc6da Move some definitions.
Dave Love <fx@gnu.org>
parents: 30066
diff changeset
55 #undef WRETCODE
d57d77adc6da Move some definitions.
Dave Love <fx@gnu.org>
parents: 30066
diff changeset
56 #define WRETCODE(status) WEXITSTATUS (status)
30066
0c8b413f3f35 Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents: 16220
diff changeset
57
0c8b413f3f35 Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents: 16220
diff changeset
58
0c8b413f3f35 Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents: 16220
diff changeset
59 #endif /* EMACS_SYSWAIT_H */
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
60
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
61 /* arch-tag: 7e5d9719-ec66-4b6f-89bb-563eea16a899
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
62 (do not change this comment) */