From c86df37ebf90e069bdbbe2afb6039dadefc26a1c Mon Sep 17 00:00:00 2001 From: Al Viro Date: Thu, 26 Apr 2012 18:15:11 -0400 Subject: [PATCH] --- yaml --- r: 309005 b: refs/heads/master c: 7dfae72027cd8345247e675a3b27439df95fe06e h: refs/heads/master i: 309003: f6a7a76b7e745489e561b11311e317cd4c43bc85 v: v3 --- [refs] | 2 +- trunk/arch/arm/kernel/signal.c | 14 ++++++-------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index 4907476e52af..9190d5224186 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 84849b3ed8081e9e2eb0e441c699eda807853cb6 +refs/heads/master: 7dfae72027cd8345247e675a3b27439df95fe06e diff --git a/trunk/arch/arm/kernel/signal.c b/trunk/arch/arm/kernel/signal.c index d554025dbcbc..a6c4e780ec7a 100644 --- a/trunk/arch/arm/kernel/signal.c +++ b/trunk/arch/arm/kernel/signal.c @@ -715,15 +715,13 @@ static void do_signal(struct pt_regs *regs, int syscall) #endif } } - - /* 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