From f7c65c82abba3dca47b00d64a1eeeec4373968c3 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Fri, 11 May 2012 10:58:05 +1000 Subject: [PATCH] --- yaml --- r: 306033 b: refs/heads/master c: 4c3181bd3bde449d79b04e127b41ef02cade8005 h: refs/heads/master i: 306031: dd9ecaf04c483bf027cc8758a92bf9a002ef0b56 v: v3 --- [refs] | 2 +- trunk/arch/score/kernel/signal.c | 15 +++------------ 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/[refs] b/[refs] index e02e067a6c8e..423f44dcc288 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 80c1dfa91c44665f2cecc1666050b2e8e04cef68 +refs/heads/master: 4c3181bd3bde449d79b04e127b41ef02cade8005 diff --git a/trunk/arch/score/kernel/signal.c b/trunk/arch/score/kernel/signal.c index bf9e33e05334..5a5bd1763336 100644 --- a/trunk/arch/score/kernel/signal.c +++ b/trunk/arch/score/kernel/signal.c @@ -159,10 +159,7 @@ score_rt_sigreturn(struct pt_regs *regs) goto badframe; sigdelsetmask(&set, ~_BLOCKABLE); - spin_lock_irq(¤t->sighand->siglock); - current->blocked = set; - recalc_sigpending(); - spin_unlock_irq(¤t->sighand->siglock); + set_current_blocked(&set); sig = restore_sigcontext(regs, &frame->rs_uc.uc_mcontext); if (sig < 0) @@ -272,14 +269,8 @@ static int handle_signal(unsigned long sig, siginfo_t *info, */ ret = setup_rt_frame(ka, regs, sig, oldset, info); - if (ret == 0) { - spin_lock_irq(¤t->sighand->siglock); - sigorsets(¤t->blocked, ¤t->blocked, &ka->sa.sa_mask); - if (!(ka->sa.sa_flags & SA_NODEFER)) - sigaddset(¤t->blocked, sig); - recalc_sigpending(); - spin_unlock_irq(¤t->sighand->siglock); - } + if (ret == 0) + block_sigmask(ka, sig); return ret; }