1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
?RCS: $Id$
?RCS:
?RCS: Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
?RCS:
?RCS: You may redistribute only under the terms of the Artistic License,
?RCS: as specified in the README file that comes with the distribution.
?RCS: You may reuse parts of this distribution only within the terms of
?RCS: that same Artistic License; a copy of which may be found at the root
?RCS: of the source tree for dist 4.0.
?RCS:
?RCS: $Log: d_sigvec.U,v $
?RCS: Revision 3.0.1.1 1997/02/28 15:45:37 ram
?RCS: patch61: there is now a separate routine for sigaction()
?RCS:
?RCS: Revision 3.0 1993/08/18 12:07:24 ram
?RCS: Baseline for dist 3.0 netwide release.
?RCS:
?X: d_sigvec.U, from d_ftime.U 1.0
?X:
?MAKE:d_sigvec d_sigvectr d_sigintrp: Trylink cat
?MAKE: -pick add $@ %<
?S:d_sigvec:
?S: This variable conditionally defines the HAS_SIGVEC symbol, which indicates
?S: that BSD reliable signals are supported.
?S:.
?S:d_sigvectr:
?S: This variable conditionally defines the HAS_SIGVECTOR symbol, which
?S: indicates that the sigvec() routine is called sigvector() instead, for
?S: reasons known only to Hewlett-Packard.
?S:.
?S:d_sigintrp:
?S: This variable conditionally defines the HAS_SIGINTRP symbol, which
?S: indicates that the siginterrupt() routine is available.
?S:.
?C:HAS_SIGVEC (SIGVEC):
?C: This symbol, if defined, indicates that BSD reliable signals are
?C: supported.
?C:.
?C:HAS_SIGVECTOR (SIGVECTOR):
?C: This symbol, if defined, indicates that the sigvec() routine is called
?C: sigvector() instead, and that sigspace() is provided instead of
?C: sigstack(). This is probably only true for HP-UX.
?C:.
?C:HAS_SIGINTRP (SIGINTRP):
?C: This symbol, if defined, indicates that the siginterrupt() routine
?C: is available.
?C:.
?H:#$d_sigvec HAS_SIGVEC /**/
?H:#$d_sigvectr HAS_SIGVECTOR /**/
?H:#$d_sigintrp HAS_SIGINTRP /**/
?H:.
?LINT:set d_sigvec d_sigvectr d_sigintrp
@if d_sigvectr || d_sigvec || HAS_SIGVEC || HAS_SIGVECTOR
: see if sigvector exists
$cat >try.c <<EOC
#include <signal.h>
int main(void)
{
static int ret, sig;
struct sigvec vec, ovec;
ret |= sigvector(sig, &vec, &ovec);
return ret ? 0 : 1;
}
EOC
cyn=sigvector
set d_sigvectr
eval $trylink
$cat >try.c <<EOC
#include <signal.h>
int main(void)
{
static int ret, sig;
struct sigvec vec, ovec;
ret |= sigvec(sig, &vec, &ovec);
return ret ? 0 : 1;
}
EOC
cyn=sigvec
set d_sigvec
eval $trylink
@end
@if d_sigintrp || HAS_SIGINTRP
: see if we have siginterrupt
$cat >try.c <<EOC
#include <signal.h>
int main(void)
{
static int ret, sig, flag;
ret |= siginterrupt(sig, flag);
return ret ? 0 : 1;
}
EOC
cyn=siginterrupt
set d_sigintrp
eval $trylink
@end
|