diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2009-07-03 09:44:44 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2009-07-20 12:35:53 -0400 |
commit | c0445b35154b777c8b4340c5930a1b2924a7f86f (patch) | |
tree | 060e38220f62d10334d264c7b2ffe6a5a19ab533 /kernel/signal.c | |
parent | cc3ec6debf48ea1a1ad5c9667aba952630da83ea (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.c | 3 |
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 |