annotate src/syssignal.h @ 4413:5a00cec8e9b0

(fill-region-as-paragraph): When we take one word after the fill column, don't stop at period with just one space. When checking whether at beginning of line, if no fill prefix, ignore intervening whitespace.
author Richard M. Stallman <rms@gnu.org>
date Mon, 02 Aug 1993 05:55:56 +0000
parents c2dbfca5e1de
children 40bb379c9550
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
563
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1 /* syssignal.h - System-dependent definitions for signals.
2961
e94a593c3952 Updated copyright years.
Jim Blandy <jimb@redhat.com>
parents: 2913
diff changeset
2 Copyright (C) 1993 Free Software Foundation, Inc.
563
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
3
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4 This file is part of GNU Emacs.
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6 GNU Emacs is free software; you can redistribute it and/or modify
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
7 it under the terms of the GNU General Public License as published by
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
8 the Free Software Foundation; either version 1, or (at your option)
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
9 any later version.
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
10
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11 GNU Emacs is distributed in the hope that it will be useful,
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 GNU General Public License for more details.
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 along with GNU Emacs; see the file COPYING. If not, write to
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
18 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
19
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
20 #ifdef POSIX_SIGNALS
2913
409c1022bad5 Some changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 2122
diff changeset
21
3003
5a73d384f45e * syssignal.h: Don't #include <signal.h>
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
22 /* Don't #include <signal.h>. That header shouldalways be #included
5a73d384f45e * syssignal.h: Don't #include <signal.h>
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
23 before "config.h", because some configuration files (like s/hpux.h)
5a73d384f45e * syssignal.h: Don't #include <signal.h>
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
24 indicate that SIGIO doesn't work by #undef-ing SIGIO. If this file
5a73d384f45e * syssignal.h: Don't #include <signal.h>
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
25 #includes <signal.h>, then that will re-#define SIGIO and confuse
5a73d384f45e * syssignal.h: Don't #include <signal.h>
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
26 things. */
2913
409c1022bad5 Some changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 2122
diff changeset
27
563
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
28 #define SIGMASKTYPE sigset_t
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
29
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
30 #define SIGEMPTYMASK (empty_mask)
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
31 #define SIGFULLMASK (full_mask)
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
32 extern sigset_t empty_mask, full_mask, temp_mask;
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
33
637
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
34 /* POSIX pretty much destroys any possibility of writing sigmask as a
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
35 macro in standard C. */
2913
409c1022bad5 Some changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 2122
diff changeset
36 #ifndef sigmask
637
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
37 #ifdef __GNUC__
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
38 #define sigmask(SIG) \
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
39 ({ \
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
40 sigset_t _mask; \
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
41 sigemptyset (&_mask); \
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
42 sigaddset (&_mask, SIG); \
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
43 _mask; \
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
44 })
2122
f3c105f296b2 * syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents: 637
diff changeset
45 #else /* ! defined (__GNUC__) */
3485
c2dbfca5e1de [POSIX] [!__GNUC__] (sys_sigmask): Add declaration.
Richard M. Stallman <rms@gnu.org>
parents: 3008
diff changeset
46 extern sigset_t sys_sigmask ();
637
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
47 #define sigmask(SIG) (sys_sigmask (SIG))
2122
f3c105f296b2 * syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents: 637
diff changeset
48 #endif /* ! defined (__GNUC__) */
2913
409c1022bad5 Some changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 2122
diff changeset
49 #endif
624
2bb7f23b7ea5 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 563
diff changeset
50
637
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
51 #define sigpause(SIG) sys_sigpause(SIG)
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
52 #define sigblock(SIG) sys_sigblock(SIG)
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
53 #define sigunblock(SIG) sys_sigunblock(SIG)
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
54 #define sigsetmask(SIG) sys_sigsetmask(SIG)
563
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
55 #define sighold(SIG) ONLY_USED_IN_BSD_4_1
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
56 #define sigrelse(SIG) ONLY_USED_IN_BSD_4_1
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
57
2913
409c1022bad5 Some changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 2122
diff changeset
58 /* Whether this is what all systems want or not, this is what
409c1022bad5 Some changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 2122
diff changeset
59 appears to be assumed in the source, for example data.c:arith_error() */
409c1022bad5 Some changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 2122
diff changeset
60 typedef RETSIGTYPE (*signal_handler_t) (int);
409c1022bad5 Some changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 2122
diff changeset
61
3008
be594f78bfa7 * syssignal.h (sys_signal): Declare the second argument to have
Jim Blandy <jimb@redhat.com>
parents: 3003
diff changeset
62 signal_handler_t sys_signal (int signal_number, signal_handler_t action);
2913
409c1022bad5 Some changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 2122
diff changeset
63 int sys_sigpause (sigset_t new_mask);
409c1022bad5 Some changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 2122
diff changeset
64 sigset_t sys_sigblock (sigset_t new_mask);
563
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
65 sigset_t sys_sigunblock (sigset_t new_mask);
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
66 sigset_t sys_sigsetmask (sigset_t new_mask);
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
67
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
68 #define sys_sigdel(MASK,SIG) sigdelset(&MASK,SIG)
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
69
2122
f3c105f296b2 * syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents: 637
diff changeset
70 #else /* ! defined (POSIX_SIGNALS) */
f3c105f296b2 * syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents: 637
diff changeset
71 #ifdef USG5_4
f3c105f296b2 * syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents: 637
diff changeset
72
f3c105f296b2 * syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents: 637
diff changeset
73 #define sigunblock(sig) (sigprocmask(SIG_SETMASK, SIGFULLMASK & ~(sig), NULL))
f3c105f296b2 * syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents: 637
diff changeset
74
f3c105f296b2 * syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents: 637
diff changeset
75 #else
f3c105f296b2 * syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents: 637
diff changeset
76 #ifdef USG
f3c105f296b2 * syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents: 637
diff changeset
77
f3c105f296b2 * syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents: 637
diff changeset
78 #define sigunblock(sig)
f3c105f296b2 * syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents: 637
diff changeset
79
f3c105f296b2 * syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents: 637
diff changeset
80 #else
563
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
81
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
82 #define sigunblock(SIG) \
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
83 { SIGMASKTYPE omask = sigblock (SIGEMPTYMASK); sigsetmask (omask & ~SIG); }
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
84
2122
f3c105f296b2 * syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents: 637
diff changeset
85 #endif /* ! defined (USG) */
f3c105f296b2 * syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents: 637
diff changeset
86 #endif /* ! defined (USG5_4) */
f3c105f296b2 * syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents: 637
diff changeset
87 #endif /* ! defined (POSIX_SIGNALS) */
563
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
88
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
89 #ifndef SIGMASKTYPE
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
90 #define SIGMASKTYPE int
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
91 #endif
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
92
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
93 #ifndef SIGEMPTYMASK
637
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
94 #define SIGEMPTYMASK (0)
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
95 #endif
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
96
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
97 #ifndef SIGFULLMASK
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
98 #define SIGFULLMASK (0xffffffff)
563
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
99 #endif
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
100
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
101 #ifndef sigmask
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
102 #define sigmask(no) (1L << ((no) - 1))
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
103 #endif
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
104
637
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
105 #ifndef sigunblock
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
106 #define sigunblock(SIG) \
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
107 { SIGMASKTYPE omask = sigblock (SIGFULLMASK); sigsetmask (omask & ~SIG); }
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
108 #endif
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
109
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
110 /* It would be very nice if we could somehow clean up all this trash. */
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
111
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
112 #ifndef BSD4_1
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
113 #define sigfree() sigsetmask (SIGEMPTYMASK)
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
114 #define sigholdx(sig) sigsetmask (sigmask (sig))
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
115 #define sigblockx(sig) sigblock (sigmask (sig))
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
116 #define sigunblockx(sig) sigblock (SIGEMPTYMASK)
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
117 #define sigpausex(sig) sigpause (0)
2122
f3c105f296b2 * syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents: 637
diff changeset
118 #endif /* BSD4_1 */
637
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
119
563
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
120 #ifdef BSD4_1
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
121 #define SIGIO SIGTINT
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
122 /* sigfree and sigholdx are in sysdep.c */
637
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
123 #define sigblockx(sig) sighold (sig)
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
124 #define sigunblockx(sig) sigrelse (sig)
639afe138172 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 624
diff changeset
125 #define sigpausex(sig) sigpause (sig)
2122
f3c105f296b2 * syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents: 637
diff changeset
126 #endif /* ! defined (BSD4_1) */
563
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
127
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
128 /* On bsd, [man says] kill does not accept a negative number to kill a pgrp.
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
129 Must do that using the killpg call. */
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
130 #ifdef BSD
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
131 #define EMACS_KILLPG(gid, signo) (killpg ( (gid), (signo)))
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
132 #else
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
133 #define EMACS_KILLPG(gid, signo) (kill (-(gid), (signo)))
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
134 #endif
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
135
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
136 /* Define SIGCHLD as an alias for SIGCLD. There are many conditionals
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
137 testing SIGCHLD. */
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
138 #ifndef VMS
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
139 #ifdef SIGCLD
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
140 #ifndef SIGCHLD
5080bb8d0593 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
141 #define SIGCHLD SIGCLD
2122
f3c105f296b2 * syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents: 637
diff changeset
142 #endif /* SIGCHLD */
f3c105f296b2 * syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents: 637
diff changeset
143 #endif /* ! defined (SIGCLD) */
f3c105f296b2 * syssignal.h (sigunblock): Add definition which works under SYSVr4.
Jim Blandy <jimb@redhat.com>
parents: 637
diff changeset
144 #endif /* VMS */