From df63070e3df2d89ed9110de8b0d291c598028406 Mon Sep 17 00:00:00 2001 From: Oleg Nesterov Date: Wed, 22 Aug 2007 14:01:42 -0700 Subject: [PATCH] --- yaml --- r: 64249 b: refs/heads/master c: 834d216e1f804560bd1421c511ad168d7c24b01d h: refs/heads/master i: 64247: 50d495bdd217426544ef5ef0c1f6dfb6403d4c63 v: v3 --- [refs] | 2 +- trunk/kernel/signal.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index bde35bfafc82..6d7d58498f6f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d02479bdeb1c9b037892061cdcf4e730183391fa +refs/heads/master: 834d216e1f804560bd1421c511ad168d7c24b01d diff --git a/trunk/kernel/signal.c b/trunk/kernel/signal.c index b27c01a66448..ad63109e413c 100644 --- a/trunk/kernel/signal.c +++ b/trunk/kernel/signal.c @@ -378,7 +378,7 @@ int dequeue_signal(struct task_struct *tsk, sigset_t *mask, siginfo_t *info) /* We only dequeue private signals from ourselves, we don't let * signalfd steal them */ - if (tsk == current) + if (likely(tsk == current)) signr = __dequeue_signal(&tsk->pending, mask, info); if (!signr) { signr = __dequeue_signal(&tsk->signal->shared_pending, @@ -425,7 +425,7 @@ int dequeue_signal(struct task_struct *tsk, sigset_t *mask, siginfo_t *info) if (!(tsk->signal->flags & SIGNAL_GROUP_EXIT)) tsk->signal->flags |= SIGNAL_STOP_DEQUEUED; } - if ( signr && + if (signr && likely(tsk == current) && ((info->si_code & __SI_MASK) == __SI_TIMER) && info->si_sys_private){ /*