[PATCH] TASK_STOPPED wakeup cleanup
For handle_stop_signal to do the special case for SIGKILL and have it work right in all SMP cases (without changing all the existing ptrace stops), it needs to at least set TIF_SIGPENDING on each thread before resuming it. handle_stop_signal addresses a related race for SIGCONT by setting TIF_SIGPENDING already, so having SIGKILL handled the same way makes sense. Now it seems pretty clean to have handle_stop_signal resume threads for SIGKILL, and have on SIGKILL special case in group_send_sig_info. There is also an SMP race issue with cases like do_syscall_trace, i.e. TASK_STOPPED state set without holding the siglock. So I think handle_stop_signal should call wake_up_process unconditionally.
Showing
Please register or sign in to comment