[PATCH] remove unneeded sig->curr_target recalculation
authorOleg Nesterov <oleg@tv-sign.ru>
Sun, 8 Jan 2006 09:03:28 +0000 (01:03 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 9 Jan 2006 04:13:57 +0000 (20:13 -0800)
This patch removes unneeded sig->curr_target recalculation under 'if
(atomic_dec_and_test(&sig->count))' in __exit_signal().

When sig->count == 0 the signal can't be sent to this task and
next_thread(tsk) == tsk anyway.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
kernel/signal.c

index 114cf9209bcd848a478a27921d2405427b607d0c..08aa5b263f36b01c0308c11f94428b404f5c7582 100644 (file)
@@ -364,8 +364,6 @@ void __exit_signal(struct task_struct *tsk)
        posix_cpu_timers_exit(tsk);
        if (atomic_dec_and_test(&sig->count)) {
                posix_cpu_timers_exit_group(tsk);
-               if (tsk == sig->curr_target)
-                       sig->curr_target = next_thread(tsk);
                tsk->signal = NULL;
                __exit_sighand(tsk);
                spin_unlock(&sighand->siglock);