-
Ingo Molnar authored
This fixes a threading/ptrace bug noticed by the gdb people: when a thread is ptraced but other threads in the thread group are not then a SIGTRAP (via int3 or any of the other debug traps) causes the child thread(s) to die unexpectedly. This is because the default behavior for a no-handler SIGTRAP is to broadcast it. The solution is to make all such signals specific, then the ptracer (gdb) can filter the signal and upon continuation it's being handled properly (or put on the shared signal queue). SIGKILL and SIGSTOP are an exception. The patch only affects threaded and ptrace-d processes.
08222038