Revision 3ca05588 linux-user/signal.c
b/linux-user/signal.c | ||
---|---|---|
44 | 44 |
static void host_signal_handler(int host_signum, siginfo_t *info, |
45 | 45 |
void *puc); |
46 | 46 |
|
47 |
static uint8_t host_to_target_signal_table[65] = {
|
|
47 |
static uint8_t host_to_target_signal_table[_NSIG] = {
|
|
48 | 48 |
[SIGHUP] = TARGET_SIGHUP, |
49 | 49 |
[SIGINT] = TARGET_SIGINT, |
50 | 50 |
[SIGQUIT] = TARGET_SIGQUIT, |
... | ... | |
87 | 87 |
[__SIGRTMIN] = __SIGRTMAX, |
88 | 88 |
[__SIGRTMAX] = __SIGRTMIN, |
89 | 89 |
}; |
90 |
static uint8_t target_to_host_signal_table[65];
|
|
90 |
static uint8_t target_to_host_signal_table[_NSIG];
|
|
91 | 91 |
|
92 | 92 |
static inline int on_sig_stack(unsigned long sp) |
93 | 93 |
{ |
... | ... | |
103 | 103 |
|
104 | 104 |
int host_to_target_signal(int sig) |
105 | 105 |
{ |
106 |
if (sig > 64)
|
|
106 |
if (sig >= _NSIG)
|
|
107 | 107 |
return sig; |
108 | 108 |
return host_to_target_signal_table[sig]; |
109 | 109 |
} |
110 | 110 |
|
111 | 111 |
int target_to_host_signal(int sig) |
112 | 112 |
{ |
113 |
if (sig > 64)
|
|
113 |
if (sig >= _NSIG)
|
|
114 | 114 |
return sig; |
115 | 115 |
return target_to_host_signal_table[sig]; |
116 | 116 |
} |
... | ... | |
311 | 311 |
int host_sig; |
312 | 312 |
|
313 | 313 |
/* generate signal conversion tables */ |
314 |
for(i = 1; i <= 64; i++) {
|
|
314 |
for(i = 1; i < _NSIG; i++) {
|
|
315 | 315 |
if (host_to_target_signal_table[i] == 0) |
316 | 316 |
host_to_target_signal_table[i] = i; |
317 | 317 |
} |
318 |
for(i = 1; i <= 64; i++) {
|
|
318 |
for(i = 1; i < _NSIG; i++) {
|
|
319 | 319 |
j = host_to_target_signal_table[i]; |
320 | 320 |
target_to_host_signal_table[j] = i; |
321 | 321 |
} |
Also available in: Unified diff