Commit | Line | Data |
---|---|---|
91d4927d KT |
1 | .th SIGNAL II 8/5/73 |
2 | .sh NAME | |
3 | signal \*- catch or ignore signals | |
4 | .sh SYNOPSIS | |
5 | (signal = 48.) | |
6 | .br | |
7 | .ft B | |
8 | sys signal; sig; value | |
9 | .s3 | |
10 | signal(sig, func) | |
11 | .br | |
12 | int (*func)(); | |
13 | .ft R | |
14 | .sh DESCRIPTION | |
15 | When the signal | |
16 | defined by | |
17 | .it sig | |
18 | is sent to the current process, | |
19 | it is to be treated according to | |
20 | .it value. | |
21 | The following is the list of signals: | |
22 | .s3 | |
23 | .lp +10 5 | |
24 | 1 hangup | |
25 | .lp +10 5 | |
26 | 2 interrupt | |
27 | .lp +10 5 | |
28 | 3* quit | |
29 | .lp +10 5 | |
30 | 4* illegal instruction | |
31 | .lp +10 5 | |
32 | 5* trace trap | |
33 | .lp +10 5 | |
34 | 6* IOT instruction | |
35 | .lp +10 5 | |
36 | 7* EMT instruction | |
37 | .lp +10 5 | |
38 | 8* floating point exception | |
39 | .lp +10 5 | |
40 | 9 kill (cannot be caught or ignored) | |
41 | .lp +10 5 | |
42 | 10* bus error | |
43 | .lp +10 5 | |
44 | 11* segmentation violation | |
45 | .lp +10 5 | |
46 | 12* bad argument to sys call | |
47 | .s3 | |
48 | .i0 | |
49 | If | |
50 | .it value | |
51 | is 0, the default system | |
52 | action applies to the signal. | |
53 | This is processes termination | |
54 | with or without a core dump. | |
55 | If | |
56 | .it value | |
57 | is odd, the signal is ignored. | |
58 | Any other even | |
59 | .it value | |
60 | specifies an address in the process | |
61 | where an interrupt is simulated. | |
62 | An RTI instruction will return from the | |
63 | interrupt. | |
64 | As a signal is caught, | |
65 | it is reset to 0. | |
66 | Thus if it is desired to | |
67 | catch every such signal, | |
68 | the catching routine must | |
69 | issue another | |
70 | .it signal | |
71 | call. | |
72 | .s3 | |
73 | The starred signals in the list above | |
74 | cause core images if not caught and not ignored. | |
75 | In C, | |
76 | if | |
77 | .it func | |
78 | is 0 or 1, the action is as described above. | |
79 | If | |
80 | .it func | |
81 | is even, it is assumed to be the address | |
82 | of a function entry point. | |
83 | When the signal occurs, | |
84 | the function will be called. | |
85 | A return from the function will | |
86 | simulate the RTI. | |
87 | .s3 | |
88 | After a | |
89 | .it fork, | |
90 | the child inherits | |
91 | all signals. | |
92 | The | |
93 | .it exec | |
94 | call resets all | |
95 | caught signals to default action. | |
96 | .sh "SEE ALSO" | |
97 | kill (I, II) | |
98 | .sh DIAGNOSTICS | |
99 | The error bit | |
100 | (c-bit) | |
101 | is set if the | |
102 | given signal is out of range. | |
103 | In C, a \*-1 indicates an error; | |
104 | 0 indicates success. |