diff --git a/[refs] b/[refs] index b65ccf404cd4..6c1e4e827f94 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f10db6277dfd6dffb80b2182a256d35adb3134bc +refs/heads/master: 0a76fe8e50ee93a9d4a1badb1ec995852a6bcaf1 diff --git a/trunk/kernel/exit.c b/trunk/kernel/exit.c index 9d3d0f0b27d9..eb9934a82fc1 100644 --- a/trunk/kernel/exit.c +++ b/trunk/kernel/exit.c @@ -1590,8 +1590,6 @@ static long do_wait(pid_t pid, int options, struct siginfo __user *infop, goto repeat; if (retval != 0) /* He released the lock. */ goto end; - } else if (p->exit_state == EXIT_DEAD) { - continue; } else if (p->exit_state == EXIT_ZOMBIE) { /* * Eligible but we cannot release it yet: @@ -1606,7 +1604,7 @@ static long do_wait(pid_t pid, int options, struct siginfo __user *infop, /* He released the lock. */ if (retval != 0) goto end; - } else { + } else if (p->exit_state != EXIT_DEAD) { check_continued: /* * It's running now, so it might later