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
100
| #include <linux/signal.h>
|
| #define SIGUNKNOWN 0
| #define MAXMAPPED_SIG 35
| #define MAXMAPPED_SIGNAME (MAXMAPPED_SIG + 1)
| #define SIGRT_BASE 128
|
| /* provide a mapping of arch signal to internal signal # for mediation
| * those that are always an alias SIGCLD for SIGCLHD and SIGPOLL for SIGIO
| * map to the same entry those that may/or may not get a separate entry
| */
| static const int sig_map[MAXMAPPED_SIG] = {
| [0] = MAXMAPPED_SIG, /* existence test */
| [SIGHUP] = 1,
| [SIGINT] = 2,
| [SIGQUIT] = 3,
| [SIGILL] = 4,
| [SIGTRAP] = 5, /* -, 5, - */
| [SIGABRT] = 6, /* SIGIOT: -, 6, - */
| [SIGBUS] = 7, /* 10, 7, 10 */
| [SIGFPE] = 8,
| [SIGKILL] = 9,
| [SIGUSR1] = 10, /* 30, 10, 16 */
| [SIGSEGV] = 11,
| [SIGUSR2] = 12, /* 31, 12, 17 */
| [SIGPIPE] = 13,
| [SIGALRM] = 14,
| [SIGTERM] = 15,
| #ifdef SIGSTKFLT
| [SIGSTKFLT] = 16, /* -, 16, - */
| #endif
| [SIGCHLD] = 17, /* 20, 17, 18. SIGCHLD -, -, 18 */
| [SIGCONT] = 18, /* 19, 18, 25 */
| [SIGSTOP] = 19, /* 17, 19, 23 */
| [SIGTSTP] = 20, /* 18, 20, 24 */
| [SIGTTIN] = 21, /* 21, 21, 26 */
| [SIGTTOU] = 22, /* 22, 22, 27 */
| [SIGURG] = 23, /* 16, 23, 21 */
| [SIGXCPU] = 24, /* 24, 24, 30 */
| [SIGXFSZ] = 25, /* 25, 25, 31 */
| [SIGVTALRM] = 26, /* 26, 26, 28 */
| [SIGPROF] = 27, /* 27, 27, 29 */
| [SIGWINCH] = 28, /* 28, 28, 20 */
| [SIGIO] = 29, /* SIGPOLL: 23, 29, 22 */
| [SIGPWR] = 30, /* 29, 30, 19. SIGINFO 29, -, - */
| #ifdef SIGSYS
| [SIGSYS] = 31, /* 12, 31, 12. often SIG LOST/UNUSED */
| #endif
| #ifdef SIGEMT
| [SIGEMT] = 32, /* 7, - , 7 */
| #endif
| #if defined(SIGLOST) && SIGPWR != SIGLOST /* sparc */
| [SIGLOST] = 33, /* unused on Linux */
| #endif
| #if defined(SIGUNUSED) && \
| defined(SIGLOST) && defined(SIGSYS) && SIGLOST != SIGSYS
| [SIGUNUSED] = 34, /* -, 31, - */
| #endif
| };
|
| /* this table is ordered post sig_map[sig] mapping */
| static const char *const sig_names[MAXMAPPED_SIGNAME] = {
| "unknown",
| "hup",
| "int",
| "quit",
| "ill",
| "trap",
| "abrt",
| "bus",
| "fpe",
| "kill",
| "usr1",
| "segv",
| "usr2",
| "pipe",
| "alrm",
| "term",
| "stkflt",
| "chld",
| "cont",
| "stop",
| "stp",
| "ttin",
| "ttou",
| "urg",
| "xcpu",
| "xfsz",
| "vtalrm",
| "prof",
| "winch",
| "io",
| "pwr",
| "sys",
| "emt",
| "lost",
| "unused",
|
| "exists", /* always last existence test mapped to MAXMAPPED_SIG */
| };
|
|