From 0c7448fe13354a0c8e0eebfa812ee60387df5c3b Mon Sep 17 00:00:00 2001 From: Oleg Nesterov Date: Wed, 26 May 2010 14:43:12 -0700 Subject: [PATCH] --- yaml --- r: 198751 b: refs/heads/master c: 4a5999429739844367d0f77a65efdd7db8202779 h: refs/heads/master i: 198749: 32355b01412733c44ad76690ded53748af931ed9 198747: 38e6de3d45435278bcdeb92bf06790312567c198 198743: 8feeb6ee368ff305280fd863949778844ba15239 198735: 120599c085b8fe0d9a4790da5273d5b0458a86a9 198719: 8cded3bd90373930e5c8595d650797bd3b7a5871 v: v3 --- [refs] | 2 +- trunk/kernel/exit.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index fa989aa8fa50..b37554115a2e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d344193a05da89c97e965da2c5cbf687d7385eae +refs/heads/master: 4a5999429739844367d0f77a65efdd7db8202779 diff --git a/trunk/kernel/exit.c b/trunk/kernel/exit.c index 9220967f4256..4c70c377d21f 100644 --- a/trunk/kernel/exit.c +++ b/trunk/kernel/exit.c @@ -88,11 +88,12 @@ static void __exit_signal(struct task_struct *tsk) rcu_read_lock_held() || lockdep_tasklist_lock_is_held()); spin_lock(&sighand->siglock); + atomic_dec(&sig->count); posix_cpu_timers_exit(tsk); - if (atomic_dec_and_test(&sig->count)) + if (thread_group_leader(tsk)) { posix_cpu_timers_exit_group(tsk); - else { + } else { /* * If there is any task waiting for the group exit * then notify it: