| Submitter | Brad Figg |
|---|---|
| Date | Feb. 3, 2011, 8:01 p.m. |
| Message ID | <1296763311-11305-2-git-send-email-brad.figg@canonical.com> |
| Download | mbox | patch |
| Permalink | /patch/81710/ |
| State | Accepted |
| Delegated to: | Stefan Bader |
| Headers | show |
Comments
Patch
diff --git a/kernel/exit.c b/kernel/exit.c index b8606f0..27f5c76 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -91,6 +91,14 @@ static void __exit_signal(struct task_struct *tsk) if (atomic_dec_and_test(&sig->count)) posix_cpu_timers_exit_group(tsk); else { + /* + * This can only happen if the caller is de_thread(). + * FIXME: this is the temporary hack, we should teach + * posix-cpu-timers to handle this case correctly. + */ + if (unlikely(has_group_leader_pid(tsk))) + posix_cpu_timers_exit_group(tsk); + /* * If there is any task waiting for the group exit * then notify it: