diff options
Diffstat (limited to 'gdb/linux-nat.c')
-rw-r--r-- | gdb/linux-nat.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c index b089432..0710ac7 100644 --- a/gdb/linux-nat.c +++ b/gdb/linux-nat.c @@ -3413,12 +3413,18 @@ lin_thread_get_thread_signals (sigset_t *set) sigemptyset (set); restart = get_signo ("__pthread_sig_restart"); + cancel = get_signo ("__pthread_sig_cancel"); + + /* LinuxThreads normally uses the first two RT signals, but in some legacy + cases may use SIGUSR1/SIGUSR2. NPTL always uses RT signals, but does + not provide any way for the debugger to query the signal numbers - + fortunately they don't change! */ + if (restart == 0) - return; + restart = __SIGRTMIN; - cancel = get_signo ("__pthread_sig_cancel"); if (cancel == 0) - return; + cancel = __SIGRTMIN + 1; sigaddset (set, restart); sigaddset (set, cancel); |