aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/signal.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2009-07-03 09:44:44 -0400
committerThomas Gleixner <tglx@linutronix.de>2009-07-20 12:35:53 -0400
commitc0445b35154b777c8b4340c5930a1b2924a7f86f (patch)
tree060e38220f62d10334d264c7b2ffe6a5a19ab533 /kernel/signal.c
parentcc3ec6debf48ea1a1ad5c9667aba952630da83ea (diff)
signals: Do not wakeup self
Signals which are delivered by current to current can do without waking up current :) Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/signal.c')
-rw-r--r--kernel/signal.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/signal.c b/kernel/signal.c
index ccf1ceedaebe..136ba2ddc1d6 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -519,6 +519,9 @@ void signal_wake_up(struct task_struct *t, int resume)
519 519
520 set_tsk_thread_flag(t, TIF_SIGPENDING); 520 set_tsk_thread_flag(t, TIF_SIGPENDING);
521 521
522 if (unlikely(t == current))
523 return;
524
522 /* 525 /*
523 * For SIGKILL, we want to wake it up in the stopped/traced/killable 526 * For SIGKILL, we want to wake it up in the stopped/traced/killable
524 * case. We don't check t->state here because there is a race with it 527 * case. We don't check t->state here because there is a race with it