arm: if there's no handler we need to restore sigmask, syscall or no syscall

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro
2012-04-26 18:15:11 -04:00
parent 84849b3ed8
commit 7dfae72027

View File

@@ -715,15 +715,13 @@ static void do_signal(struct pt_regs *regs, int syscall)
#endif #endif
} }
} }
}
/* If there's no signal to deliver, we just put the saved sigmask /* If there's no signal to deliver, we just put the saved sigmask
* back. * back.
*/ */
if (test_thread_flag(TIF_RESTORE_SIGMASK)) { if (test_and_clear_thread_flag(TIF_RESTORE_SIGMASK))
clear_thread_flag(TIF_RESTORE_SIGMASK); set_current_blocked(&current->saved_sigmask);
sigprocmask(SIG_SETMASK, &current->saved_sigmask, NULL);
}
}
} }
asmlinkage void asmlinkage void