From: Oleg Nesterov Add a couple of small comments, it is not easy to see what this code does. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton --- fs/exec.c | 2 +- kernel/exit.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff -puN fs/exec.c~document-de_thread-with-exit_notify-connection fs/exec.c --- a/fs/exec.c~document-de_thread-with-exit_notify-connection +++ a/fs/exec.c @@ -798,7 +798,7 @@ static int de_thread(struct task_struct if (!thread_group_leader(tsk)) { leader = tsk->group_leader; - sig->notify_count = -1; + sig->notify_count = -1; /* for exit_notify() */ for (;;) { write_lock_irq(&tasklist_lock); if (likely(leader->exit_state)) diff -puN kernel/exit.c~document-de_thread-with-exit_notify-connection kernel/exit.c --- a/kernel/exit.c~document-de_thread-with-exit_notify-connection +++ a/kernel/exit.c @@ -894,6 +894,7 @@ static void exit_notify(struct task_stru state = EXIT_DEAD; tsk->exit_state = state; + /* mt-exec, de_thread() is waiting for us */ if (thread_group_leader(tsk) && tsk->signal->notify_count < 0 && tsk->signal->group_exit_task) _