• Oleg Nesterov's avatar
    reparent_leader: check EXIT_DEAD instead of task_detached() · 0976a03e
    Oleg Nesterov authored
    Change reparent_leader() to check ->exit_state instead of ->exit_signal,
    this matches the similar EXIT_DEAD check in wait_consider_task() and
    allows us to cleanup the do_notify_parent/task_detached logic.
    
    task_detached() was really needed during reparenting before 9cd80bbb
    "do_wait() optimization: do not place sub-threads on ->children list"
    to filter out the sub-threads. After this change task_detached(p) can
    only be true if p is the dead group_leader and its parent ignores
    SIGCHLD, in this case the caller of do_notify_parent() is going to
    reap this task and it should set EXIT_DEAD.
    Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
    Reviewed-by: default avatarTejun Heo <tj@kernel.org>
    0976a03e
exit.c 46.6 KB