annotate src/syswait.h @ 8275:4fdf77f4e45c

type-break-mode: New variable and function. type-break-interval: Increase default to 1 hour. type-break-query-interval: Variable renamed from type-break-delay-interval. type-break-keystroke-interval: Variable deleted. type-break-keystroke-threshold: New variable. type-break-demo-life: Function renamed from type-break-life. type-break-demo-hanoi: Function renamed from type-break-hanoi. type-break-alarm-p: Variable renamed from type-break-p. type-break: Don't query. type-break-query: (New function) query here. type-break-check: Call type-break-query, not type-break. Do nothing if type-break-mode is nil. Increment type-break-keystroke-count with the length of this-command-keys, not just 1. Query for break when keystroke count exceeds cdr of keystroke threshold variable. Query for break after an alarm only if keystroke count exceeds car of keystroke threshold variable. type-break-select: Function deleted. type-break: Move that code here. type-break-cancel-schedule: Function renamed from cancel-type-break. Reset type-break-alarm-p. type-break-alarm: Function renamed from type-break-soon. (top level): Call type-break-mode; don't set up hook explicitly.
author Noah Friedman <friedman@splode.com>
date Mon, 18 Jul 1994 07:37:18 +0000
parents 1a2b17eab8d9
children 9278298301fb
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.
6015
1a2b17eab8d9 [BSD]: #undef WCOREDUMP before defining it.
Roland McGrath <roland@gnu.org>
parents: 4955
diff changeset
2 Copyright (C) 1993, 1994 Free Software Foundation, Inc.
4626
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4 This file is part of GNU Emacs.
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
6 GNU Emacs is free software; you can redistribute it and/or modify
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
7 it under the terms of the GNU General Public License as published by
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
8 the Free Software Foundation; either version 2, or (at your option)
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
9 any later version.
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
10
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
11 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
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
14 GNU General Public License for more details.
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
15
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
17 along with GNU Emacs; see the file COPYING. If not, write to
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
18 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
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
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
24 #ifndef VMS
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
25 #ifndef WAITTYPE
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
26 #if (!defined (BSD) && !defined (UNIPLUS) && !defined (STRIDE) && !(defined (HPUX) && !defined (NOMULTIPLEJOBS)) && !defined (HAVE_WAIT_HEADER)) || defined (LINUX)
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
27 #define WAITTYPE int
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
28 #define WIFSTOPPED(w) ((w&0377) == 0177)
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
29 #define WIFSIGNALED(w) ((w&0377) != 0177 && (w&~0377) == 0)
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
30 #define WIFEXITED(w) ((w&0377) == 0)
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
31 #define WRETCODE(w) (w >> 8)
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
32 #define WSTOPSIG(w) (w >> 8)
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
33 #define WTERMSIG(w) (w & 0377)
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
34 #ifndef WCOREDUMP
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
35 #define WCOREDUMP(w) ((w&0200) != 0)
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
36 #endif
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
37 #else
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
38 #ifdef BSD4_1
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
39 #include <wait.h>
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
40 #else
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
41 #include <sys/wait.h>
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
42 #endif /* not BSD 4.1 */
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
43
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
44 #define WAITTYPE union wait
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
45 #define WRETCODE(w) w.w_retcode
6015
1a2b17eab8d9 [BSD]: #undef WCOREDUMP before defining it.
Roland McGrath <roland@gnu.org>
parents: 4955
diff changeset
46 #undef WCOREDUMP /* Later BSDs define this name differently. */
4626
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
47 #define WCOREDUMP(w) w.w_coredump
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
48
4955
2da352ce967d Treat convex like hpux.
Richard M. Stallman <rms@gnu.org>
parents: 4626
diff changeset
49 #if defined (HPUX) || defined (convex)
4626
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
50 /* HPUX version 7 has broken definitions of these. */
4955
2da352ce967d Treat convex like hpux.
Richard M. Stallman <rms@gnu.org>
parents: 4626
diff changeset
51 /* pvogel@convex.com says the convex does too. */
4626
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
52 #undef WTERMSIG
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
53 #undef WSTOPSIG
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
54 #undef WIFSTOPPED
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
55 #undef WIFSIGNALED
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
56 #undef WIFEXITED
4955
2da352ce967d Treat convex like hpux.
Richard M. Stallman <rms@gnu.org>
parents: 4626
diff changeset
57 #endif /* HPUX | convex */
4626
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
58
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
59 #ifndef WTERMSIG
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
60 #define WTERMSIG(w) w.w_termsig
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
61 #endif
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
62 #ifndef WSTOPSIG
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
63 #define WSTOPSIG(w) w.w_stopsig
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
64 #endif
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
65 #ifndef WIFSTOPPED
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
66 #define WIFSTOPPED(w) (WTERMSIG (w) == 0177)
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
67 #endif
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
68 #ifndef WIFSIGNALED
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
69 #define WIFSIGNALED(w) (WTERMSIG (w) != 0177 && (WSTOPSIG (w)) == 0)
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
70 #endif
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
71 #ifndef WIFEXITED
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
72 #define WIFEXITED(w) (WTERMSIG (w) == 0)
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
73 #endif
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
74 #endif /* BSD or UNIPLUS or STRIDE */
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
75 #endif /* no WAITTYPE */
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
76 #else /* VMS */
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
77 #define WAITTYPE int
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
78 #define WIFSTOPPED(w) 0
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
79 #define WIFSIGNALED(w) 0
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
80 #define WIFEXITED(w) ((w) != -1)
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
81 #define WRETCODE(w) (w)
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
82 #define WSTOPSIG(w) (w)
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
83 #define WCOREDUMP(w) 0
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
84 #define WTERMSIG(w) (w)
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
85 #include <ssdef.h>
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
86 #include <iodef.h>
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
87 #include <clidef.h>
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
88 #include "vmsproc.h"
c5bbe7c3cfe3 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
89 #endif /* VMS */