Commit eda4d244 authored by Ingo Molnar's avatar Ingo Molnar

[PATCH] thread exit deadlock bug

This fixes the Mozilla SMP lockup in the exit path.
parent e335a273
...@@ -280,11 +280,13 @@ void __exit_sighand(struct task_struct *tsk) ...@@ -280,11 +280,13 @@ void __exit_sighand(struct task_struct *tsk)
if (atomic_read(&sig->count) == 1 && if (atomic_read(&sig->count) == 1 &&
leader->state == TASK_ZOMBIE) { leader->state == TASK_ZOMBIE) {
__remove_thread_group(tsk, sig); __remove_thread_group(tsk, sig);
spin_unlock(&sig->siglock);
do_notify_parent(leader, leader->exit_signal); do_notify_parent(leader, leader->exit_signal);
} else } else {
__remove_thread_group(tsk, sig); __remove_thread_group(tsk, sig);
spin_unlock(&sig->siglock); spin_unlock(&sig->siglock);
} }
}
clear_tsk_thread_flag(tsk,TIF_SIGPENDING); clear_tsk_thread_flag(tsk,TIF_SIGPENDING);
flush_sigqueue(&tsk->pending); flush_sigqueue(&tsk->pending);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment