• Roland McGrath's avatar
    [PATCH] TASK_STOPPED wakeup cleanup · 03e21831
    Roland McGrath authored
    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.
    03e21831
signal.c 54.6 KB