diff --git a/[refs] b/[refs] index b1a2e5753ade..342efde29318 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 376e1d2531860358c8a79fecf5f4f42994d03c4d +refs/heads/master: 2800d8d19e51414403df8144eaa214bb03400b87 diff --git a/trunk/fs/exec.c b/trunk/fs/exec.c index 8fccc276d40d..9f9f931ef949 100644 --- a/trunk/fs/exec.c +++ b/trunk/fs/exec.c @@ -798,7 +798,7 @@ static int de_thread(struct task_struct *tsk) 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 --git a/trunk/kernel/exit.c b/trunk/kernel/exit.c index 413c81ec858e..879ed6e1c883 100644 --- a/trunk/kernel/exit.c +++ b/trunk/kernel/exit.c @@ -877,6 +877,7 @@ static void exit_notify(struct task_struct *tsk, int group_dead) 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)