From 2f35ec0c447eab4ea4262d3a8ca9aae440b23225 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Thu, 26 Apr 2012 18:17:28 -0400 Subject: [PATCH] --- yaml --- r: 306080 b: refs/heads/master c: 415d04d08fec74b226c92c1fb54ad117c9c6bac4 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/unicore32/kernel/signal.c | 13 +++++-------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index fca2bdee709d..3f0076d54347 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a53bb24e7666870bbc195e295a936aa0a58ce313 +refs/heads/master: 415d04d08fec74b226c92c1fb54ad117c9c6bac4 diff --git a/trunk/arch/unicore32/kernel/signal.c b/trunk/arch/unicore32/kernel/signal.c index 72d953190419..7754df6ef7d4 100644 --- a/trunk/arch/unicore32/kernel/signal.c +++ b/trunk/arch/unicore32/kernel/signal.c @@ -447,15 +447,12 @@ static void do_signal(struct pt_regs *regs, int syscall) regs->UCreg_00 == -ERESTARTNOINTR) { setup_syscall_restart(regs); } - - /* If there's no signal to deliver, we just put the saved - * sigmask back. - */ - if (test_thread_flag(TIF_RESTORE_SIGMASK)) { - clear_thread_flag(TIF_RESTORE_SIGMASK); - sigprocmask(SIG_SETMASK, ¤t->saved_sigmask, NULL); - } } + /* If there's no signal to deliver, we just put the saved + * sigmask back. + */ + if (test_and_clear_thread_flag(TIF_RESTORE_SIGMASK)) + set_current_blocked(¤t->saved_sigmask); } asmlinkage void do_notify_resume(struct pt_regs *regs,