From 7dedeb5664d65d945bc4971236c131fafe54e172 Mon Sep 17 00:00:00 2001 From: Oleg Nesterov Date: Wed, 30 Apr 2008 00:53:12 -0700 Subject: [PATCH] --- yaml --- r: 95151 b: refs/heads/master c: 2800d8d19e51414403df8144eaa214bb03400b87 h: refs/heads/master i: 95149: b336de2f5fd7ce82b906cbdb74fa712d78794d37 95147: de5fbb1c1ef0a6b19d56077ce2174a188947f974 95143: a4f1f1abec39b0429f681817f200007d4fa14e99 95135: 3c51f926516f3e4d2930c9d7c67390f802d05a61 v: v3 --- [refs] | 2 +- trunk/fs/exec.c | 2 +- trunk/kernel/exit.c | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) 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)