From 368f1553281fd20f6e069e71b8176f9f80bb7a04 Mon Sep 17 00:00:00 2001 From: Tomoki Shirasawa Date: Thu, 21 Jan 2016 18:48:10 +0900 Subject: [PATCH] sigaction: support SA_NODEFER refs #698 --- arch/x86/kernel/syscall.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/x86/kernel/syscall.c b/arch/x86/kernel/syscall.c index 029626ae..dea1ca0f 100644 --- a/arch/x86/kernel/syscall.c +++ b/arch/x86/kernel/syscall.c @@ -591,7 +591,8 @@ do_signal(unsigned long rc, void *regs0, struct thread *thread, struct sig_pendi regs->gpr.rip = (unsigned long)k->sa.sa_handler; regs->gpr.rsp = (unsigned long)usp; - thread->sigmask.__val[0] |= pending->sigmask.__val[0]; + if(!(k->sa.sa_flags & SA_NODEFER)) + thread->sigmask.__val[0] |= pending->sigmask.__val[0]; kfree(pending); ihk_mc_spinlock_unlock(&thread->sigcommon->lock, irqstate); }