diff options
| -rw-r--r-- | kernel/exit.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/exit.c b/kernel/exit.c index 9220967f425..4c70c377d21 100644 --- a/kernel/exit.c +++ b/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:  |