diff options
author | Oleg Nesterov <oleg@tv-sign.ru> | 2006-01-08 04:03:28 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-08 23:13:57 -0500 |
commit | 86174cdcb44c095ffd2e3ca69caa56244cf701d5 (patch) | |
tree | 37d6cd5e6145fb659f436399268be1e7be950e61 | |
parent | 08efd10edff199f0c992f04052e897a3f2048508 (diff) |
[PATCH] remove unneeded sig->curr_target recalculation
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>
-rw-r--r-- | kernel/signal.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/kernel/signal.c b/kernel/signal.c index 114cf9209bcd..08aa5b263f36 100644 --- a/kernel/signal.c +++ b/kernel/signal.c | |||
@@ -364,8 +364,6 @@ void __exit_signal(struct task_struct *tsk) | |||
364 | posix_cpu_timers_exit(tsk); | 364 | posix_cpu_timers_exit(tsk); |
365 | if (atomic_dec_and_test(&sig->count)) { | 365 | if (atomic_dec_and_test(&sig->count)) { |
366 | posix_cpu_timers_exit_group(tsk); | 366 | posix_cpu_timers_exit_group(tsk); |
367 | if (tsk == sig->curr_target) | ||
368 | sig->curr_target = next_thread(tsk); | ||
369 | tsk->signal = NULL; | 367 | tsk->signal = NULL; |
370 | __exit_sighand(tsk); | 368 | __exit_sighand(tsk); |
371 | spin_unlock(&sighand->siglock); | 369 | spin_unlock(&sighand->siglock); |