diff options
| author | David S. Miller <davem@pizda.ninka.net> | 2002-02-11 06:39:57 -0800 |
|---|---|---|
| committer | David S. Miller <davem@pizda.ninka.net> | 2002-02-11 06:39:57 -0800 |
| commit | b59a67afa4157b472c1838c2dd8279eb5d06ee67 (patch) | |
| tree | b080fe099335f69b0f079a55b6bc6a46ecb2e9b0 | |
| parent | 63d0b8b1f88f830af80177dd3a99c0813a05735f (diff) | |
Fix recalc_sigpending handling.
55 files changed, 184 insertions, 177 deletions
diff --git a/arch/alpha/kernel/signal.c b/arch/alpha/kernel/signal.c index de6e44e8ad47..69a381927a83 100644 --- a/arch/alpha/kernel/signal.c +++ b/arch/alpha/kernel/signal.c @@ -104,7 +104,7 @@ osf_sigprocmask(int how, unsigned long newmask, long a2, long a3, if (_NSIG_WORDS > 1 && sign > 0) sigemptyset(¤t->blocked); current->blocked.sig[0] = newmask; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); (®s)->r0 = 0; /* special no error return */ @@ -182,7 +182,7 @@ do_sigsuspend(old_sigset_t mask, struct pt_regs *reg, struct switch_stack *sw) spin_lock_irq(¤t->sigmask_lock); oldset = current->blocked; siginitset(¤t->blocked, mask); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); while (1) { @@ -209,7 +209,7 @@ do_rt_sigsuspend(sigset_t *uset, size_t sigsetsize, spin_lock_irq(¤t->sigmask_lock); oldset = current->blocked; current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); while (1) { @@ -316,7 +316,7 @@ do_sigreturn(struct sigframe *frame, struct pt_regs *regs, sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (restore_sigcontext(&frame->sc, regs, sw)) @@ -347,7 +347,7 @@ do_rt_sigreturn(struct rt_sigframe *frame, struct pt_regs *regs, sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (restore_sigcontext(&frame->uc.uc_mcontext, regs, sw)) @@ -579,7 +579,7 @@ handle_signal(int sig, struct k_sigaction *ka, siginfo_t *info, spin_lock_irq(¤t->sigmask_lock); sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); sigaddset(¤t->blocked,sig); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); } } diff --git a/arch/arm/kernel/ecard.c b/arch/arm/kernel/ecard.c index 63121715e591..5f1b991465c5 100644 --- a/arch/arm/kernel/ecard.c +++ b/arch/arm/kernel/ecard.c @@ -308,7 +308,7 @@ ecard_task(void * unused) */ sigfillset(&tsk->blocked); sigemptyset(&tsk->pending.signal); - recalc_sigpending(tsk); + recalc_sigpending(); strcpy(tsk->comm, "kecardd"); daemonize(); diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c index 434fdd178047..6c2c1806921a 100644 --- a/arch/arm/kernel/signal.c +++ b/arch/arm/kernel/signal.c @@ -98,7 +98,7 @@ asmlinkage int sys_sigsuspend(int restart, unsigned long oldmask, old_sigset_t m spin_lock_irq(¤t->sigmask_lock); saveset = current->blocked; siginitset(¤t->blocked, mask); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs->ARM_r0 = -EINTR; @@ -126,7 +126,7 @@ sys_rt_sigsuspend(sigset_t *unewset, size_t sigsetsize, struct pt_regs *regs) spin_lock_irq(¤t->sigmask_lock); saveset = current->blocked; current->blocked = newset; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs->ARM_r0 = -EINTR; @@ -245,7 +245,7 @@ asmlinkage int sys_sigreturn(struct pt_regs *regs) sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (restore_sigcontext(regs, &frame->sc)) @@ -285,7 +285,7 @@ asmlinkage int sys_rt_sigreturn(struct pt_regs *regs) sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (restore_sigcontext(regs, &frame->uc.uc_mcontext)) @@ -512,7 +512,7 @@ handle_signal(unsigned long sig, struct k_sigaction *ka, sigorsets(&tsk->blocked, &tsk->blocked, &ka->sa.sa_mask); sigaddset(&tsk->blocked, sig); - recalc_sigpending(tsk); + recalc_sigpending(); spin_unlock_irq(&tsk->sigmask_lock); } return; diff --git a/arch/cris/kernel/signal.c b/arch/cris/kernel/signal.c index ff1c306b8e38..d2b27147cd53 100644 --- a/arch/cris/kernel/signal.c +++ b/arch/cris/kernel/signal.c @@ -94,7 +94,7 @@ sys_sigsuspend(old_sigset_t mask, long r11, long r12, long r13, long mof, spin_lock_irq(¤t->sigmask_lock); saveset = current->blocked; siginitset(¤t->blocked, mask); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs->r10 = -EINTR; @@ -133,7 +133,7 @@ sys_rt_sigsuspend(sigset_t *unewset, size_t sigsetsize, long r12, long r13, spin_lock_irq(¤t->sigmask_lock); saveset = current->blocked; current->blocked = newset; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs->r10 = -EINTR; @@ -275,7 +275,7 @@ asmlinkage int sys_sigreturn(long r10, long r11, long r12, long r13, long mof, sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (restore_sigcontext(regs, &frame->sc)) @@ -315,7 +315,7 @@ asmlinkage int sys_rt_sigreturn(long r10, long r11, long r12, long r13, sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (restore_sigcontext(regs, &frame->uc.uc_mcontext)) @@ -560,7 +560,7 @@ handle_signal(int canrestart, unsigned long sig, struct k_sigaction *ka, spin_lock_irq(¤t->sigmask_lock); sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); sigaddset(¤t->blocked,sig); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); } } diff --git a/arch/i386/kernel/signal.c b/arch/i386/kernel/signal.c index fabd3cf91e7e..c9cd34a29176 100644 --- a/arch/i386/kernel/signal.c +++ b/arch/i386/kernel/signal.c @@ -76,7 +76,7 @@ sys_sigsuspend(int history0, int history1, old_sigset_t mask) spin_lock_irq(¤t->sigmask_lock); saveset = current->blocked; siginitset(¤t->blocked, mask); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs->eax = -EINTR; @@ -105,7 +105,7 @@ sys_rt_sigsuspend(sigset_t *unewset, size_t sigsetsize) spin_lock_irq(¤t->sigmask_lock); saveset = current->blocked; current->blocked = newset; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs->eax = -EINTR; @@ -262,7 +262,7 @@ asmlinkage int sys_sigreturn(unsigned long __unused) sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (restore_sigcontext(regs, &frame->sc, &eax)) @@ -290,7 +290,7 @@ asmlinkage int sys_rt_sigreturn(unsigned long __unused) sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (restore_sigcontext(regs, &frame->uc.uc_mcontext, &eax)) @@ -569,7 +569,7 @@ handle_signal(unsigned long sig, struct k_sigaction *ka, spin_lock_irq(¤t->sigmask_lock); sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); sigaddset(¤t->blocked,sig); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); } } diff --git a/arch/i386/kernel/vm86.c b/arch/i386/kernel/vm86.c index 8fde50bffcc8..f4c1c21f2f63 100644 --- a/arch/i386/kernel/vm86.c +++ b/arch/i386/kernel/vm86.c @@ -438,7 +438,7 @@ int handle_vm86_trap(struct kernel_vm86_regs * regs, long error_code, int trapno unsigned long flags; spin_lock_irqsave(¤t->sigmask_lock, flags); sigdelset(¤t->blocked, SIGTRAP); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irqrestore(¤t->sigmask_lock, flags); } send_sig(SIGTRAP, current, 1); diff --git a/arch/ia64/ia32/ia32_signal.c b/arch/ia64/ia32/ia32_signal.c index 09255fc12234..5b91a81a080d 100644 --- a/arch/ia64/ia32/ia32_signal.c +++ b/arch/ia64/ia32/ia32_signal.c @@ -174,7 +174,7 @@ ia32_rt_sigsuspend (sigset32_t *uset, unsigned int sigsetsize, struct sigscratch { oldset = current->blocked; current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); } spin_unlock_irq(¤t->sigmask_lock); @@ -694,7 +694,7 @@ sys32_sigreturn (int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = (sigset_t) set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (restore_sigcontext_ia32(regs, &frame->sc, &eax)) @@ -725,7 +725,7 @@ sys32_rt_sigreturn (int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (restore_sigcontext_ia32(regs, &frame->uc.uc_mcontext, &eax)) diff --git a/arch/ia64/kernel/signal.c b/arch/ia64/kernel/signal.c index 1fd947a6f5fa..9b2a7b92d1f0 100644 --- a/arch/ia64/kernel/signal.c +++ b/arch/ia64/kernel/signal.c @@ -62,7 +62,7 @@ ia64_rt_sigsuspend (sigset_t *uset, size_t sigsetsize, struct sigscratch *scr) { oldset = current->blocked; current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); } spin_unlock_irq(¤t->sigmask_lock); @@ -259,7 +259,7 @@ ia64_rt_sigreturn (struct sigscratch *scr) spin_lock_irq(¤t->sigmask_lock); { current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); } spin_unlock_irq(¤t->sigmask_lock); @@ -438,7 +438,7 @@ handle_signal (unsigned long sig, struct k_sigaction *ka, siginfo_t *info, sigse { sigorsets(¤t->blocked, ¤t->blocked, &ka->sa.sa_mask); sigaddset(¤t->blocked, sig); - recalc_sigpending(current); + recalc_sigpending(); } spin_unlock_irq(¤t->sigmask_lock); } diff --git a/arch/m68k/kernel/signal.c b/arch/m68k/kernel/signal.c index aba509a4f9cc..d12be0a999cf 100644 --- a/arch/m68k/kernel/signal.c +++ b/arch/m68k/kernel/signal.c @@ -79,7 +79,7 @@ asmlinkage int do_sigsuspend(struct pt_regs *regs) mask &= _BLOCKABLE; saveset = current->blocked; siginitset(¤t->blocked, mask); - recalc_sigpending(current); + recalc_sigpending(); regs->d0 = -EINTR; while (1) { @@ -107,7 +107,7 @@ do_rt_sigsuspend(struct pt_regs *regs) saveset = current->blocked; current->blocked = newset; - recalc_sigpending(current); + recalc_sigpending(); regs->d0 = -EINTR; while (1) { @@ -552,7 +552,7 @@ asmlinkage int do_sigreturn(unsigned long __unused) sigdelsetmask(&set, ~_BLOCKABLE); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); if (restore_sigcontext(regs, &frame->sc, frame + 1, &d0)) goto badframe; @@ -579,7 +579,7 @@ asmlinkage int do_rt_sigreturn(unsigned long __unused) sigdelsetmask(&set, ~_BLOCKABLE); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); if (rt_restore_ucontext(regs, sw, &frame->uc, &d0)) goto badframe; @@ -1011,7 +1011,7 @@ handle_signal(int sig, struct k_sigaction *ka, siginfo_t *info, sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); if (!(ka->sa.sa_flags & SA_NODEFER)) sigaddset(¤t->blocked,sig); - recalc_sigpending(current); + recalc_sigpending(); } /* diff --git a/arch/mips/kernel/irixsig.c b/arch/mips/kernel/irixsig.c index 900e1004f82b..536afe6d367b 100644 --- a/arch/mips/kernel/irixsig.c +++ b/arch/mips/kernel/irixsig.c @@ -147,7 +147,7 @@ static inline void handle_signal(unsigned long sig, struct k_sigaction *ka, spin_lock_irq(¤t->sigmask_lock); sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); sigaddset(¤t->blocked,sig); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); } } @@ -263,7 +263,7 @@ asmlinkage int do_irix_signal(sigset_t *oldset, struct pt_regs *regs) default: sigaddset(¤t->pending.signal, signr); - recalc_sigpending(current); + recalc_sigpending(); current->flags |= PF_SIGNALED; do_exit(exit_code); /* NOTREACHED */ @@ -344,7 +344,7 @@ irix_sigreturn(struct pt_regs *regs) sigdelsetmask(&blocked, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = blocked; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); /* @@ -464,7 +464,7 @@ asmlinkage int irix_sigprocmask(int how, irix_sigset_t *new, irix_sigset_t *old) default: return -EINVAL; } - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); } if(old) { @@ -489,7 +489,7 @@ asmlinkage int irix_sigsuspend(struct pt_regs *regs) spin_lock_irq(¤t->sigmask_lock); saveset = current->blocked; current->blocked = newset; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs->regs[2] = -EINTR; diff --git a/arch/mips/kernel/signal.c b/arch/mips/kernel/signal.c index 8a02ea63903a..5a05734843a0 100644 --- a/arch/mips/kernel/signal.c +++ b/arch/mips/kernel/signal.c @@ -89,7 +89,7 @@ _sys_sigsuspend(struct pt_regs regs) spin_lock_irq(¤t->sigmask_lock); saveset = current->blocked; current->blocked = newset; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs.regs[2] = EINTR; @@ -123,7 +123,7 @@ _sys_rt_sigsuspend(struct pt_regs regs) spin_lock_irq(¤t->sigmask_lock); saveset = current->blocked; current->blocked = newset; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs.regs[2] = EINTR; @@ -256,7 +256,7 @@ sys_sigreturn(struct pt_regs regs) sigdelsetmask(&blocked, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = blocked; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (restore_sigcontext(®s, &frame->sf_sc)) @@ -294,7 +294,7 @@ sys_rt_sigreturn(struct pt_regs regs) sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (restore_sigcontext(®s, &frame->rs_uc.uc_mcontext)) @@ -536,7 +536,7 @@ handle_signal(unsigned long sig, struct k_sigaction *ka, spin_lock_irq(¤t->sigmask_lock); sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); sigaddset(¤t->blocked,sig); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); } } diff --git a/arch/mips64/kernel/signal.c b/arch/mips64/kernel/signal.c index 43856504587b..7b913f6f7628 100644 --- a/arch/mips64/kernel/signal.c +++ b/arch/mips64/kernel/signal.c @@ -118,7 +118,7 @@ sys_sigsuspend(abi64_no_regargs, struct pt_regs regs) spin_lock_irq(¤t->sigmask_lock); saveset = current->blocked; current->blocked = newset; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs.regs[2] = EINTR; @@ -152,7 +152,7 @@ sys_rt_sigsuspend(abi64_no_regargs, struct pt_regs regs) spin_lock_irq(¤t->sigmask_lock); saveset = current->blocked; current->blocked = newset; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs.regs[2] = EINTR; @@ -281,7 +281,7 @@ asmlinkage void sys_sigreturn(abi64_no_regargs, struct pt_regs regs) sigdelsetmask(&blocked, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = blocked; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (restore_sigcontext(®s, &frame->sf_sc)) @@ -318,7 +318,7 @@ asmlinkage void sys_rt_sigreturn(abi64_no_regargs, struct pt_regs regs) sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (restore_sigcontext(®s, &frame->rs_uc.uc_mcontext)) @@ -558,7 +558,7 @@ static inline void handle_signal(unsigned long sig, struct k_sigaction *ka, spin_lock_irq(¤t->sigmask_lock); sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); sigaddset(¤t->blocked,sig); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); } } diff --git a/arch/mips64/kernel/signal32.c b/arch/mips64/kernel/signal32.c index ecd93fee7e40..9cd4732233a5 100644 --- a/arch/mips64/kernel/signal32.c +++ b/arch/mips64/kernel/signal32.c @@ -161,7 +161,7 @@ sys32_sigsuspend(abi64_no_regargs, struct pt_regs regs) spin_lock_irq(¤t->sigmask_lock); saveset = current->blocked; current->blocked = newset; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs.regs[2] = EINTR; @@ -195,7 +195,7 @@ sys32_rt_sigsuspend(abi64_no_regargs, struct pt_regs regs) spin_lock_irq(¤t->sigmask_lock); saveset = current->blocked; current->blocked = newset; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs.regs[2] = EINTR; @@ -360,7 +360,7 @@ sys32_sigreturn(abi64_no_regargs, struct pt_regs regs) sigdelsetmask(&blocked, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = blocked; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (restore_sigcontext(®s, &frame->sf_sc)) @@ -398,7 +398,7 @@ sys32_rt_sigreturn(abi64_no_regargs, struct pt_regs regs) sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (restore_sigcontext(®s, &frame->rs_uc.uc_mcontext)) @@ -639,7 +639,7 @@ handle_signal(unsigned long sig, struct k_sigaction *ka, spin_lock_irq(¤t->sigmask_lock); sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); sigaddset(¤t->blocked,sig); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); } } diff --git a/arch/parisc/kernel/signal.c b/arch/parisc/kernel/signal.c index f31570d2d18d..53687272c840 100644 --- a/arch/parisc/kernel/signal.c +++ b/arch/parisc/kernel/signal.c @@ -112,7 +112,7 @@ sys_rt_sigsuspend(sigset_t *unewset, size_t sigsetsize, struct pt_regs *regs) spin_lock_irq(¤t->sigmask_lock); saveset = current->blocked; current->blocked = newset; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs->gr[28] = -EINTR; @@ -193,7 +193,7 @@ sys_rt_sigreturn(struct pt_regs *regs, int in_syscall) sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); /* Good thing we saved the old gr[30], eh? */ @@ -451,7 +451,7 @@ handle_signal(unsigned long sig, struct k_sigaction *ka, spin_lock_irq(¤t->sigmask_lock); sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); sigaddset(¤t->blocked,sig); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); } return 1; diff --git a/arch/ppc/kernel/signal.c b/arch/ppc/kernel/signal.c index 58ad86fa0c53..dace984ecd3f 100644 --- a/arch/ppc/kernel/signal.c +++ b/arch/ppc/kernel/signal.c @@ -105,7 +105,7 @@ sys_sigsuspend(old_sigset_t mask, int p2, int p3, int p4, int p6, int p7, spin_lock_irq(¤t->sigmask_lock); saveset = current->blocked; siginitset(¤t->blocked, mask); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs->gpr[3] = -EINTR; @@ -142,7 +142,7 @@ sys_rt_sigsuspend(sigset_t *unewset, size_t sigsetsize, int p3, int p4, int p6, spin_lock_irq(¤t->sigmask_lock); saveset = current->blocked; current->blocked = newset; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs->gpr[3] = -EINTR; @@ -252,7 +252,7 @@ int sys_rt_sigreturn(struct pt_regs *regs) sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); rt_sf++; /* Look at next rt_sigframe */ @@ -377,7 +377,7 @@ int sys_sigreturn(struct pt_regs *regs) sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); sc++; /* Look at next sigcontext */ @@ -527,7 +527,7 @@ handle_signal(unsigned long sig, struct k_sigaction *ka, spin_lock_irq(¤t->sigmask_lock); sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); sigaddset(¤t->blocked,sig); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); } return; diff --git a/arch/s390/kernel/signal.c b/arch/s390/kernel/signal.c index 2028a8340ec8..d7d2e47c770e 100644 --- a/arch/s390/kernel/signal.c +++ b/arch/s390/kernel/signal.c @@ -96,7 +96,7 @@ sys_sigsuspend(struct pt_regs * regs,int history0, int history1, old_sigset_t ma spin_lock_irq(¤t->sigmask_lock); saveset = current->blocked; siginitset(¤t->blocked, mask); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs->gprs[2] = -EINTR; @@ -124,7 +124,7 @@ sys_rt_sigsuspend(struct pt_regs * regs,sigset_t *unewset, size_t sigsetsize) spin_lock_irq(¤t->sigmask_lock); saveset = current->blocked; current->blocked = newset; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs->gprs[2] = -EINTR; @@ -225,7 +225,7 @@ asmlinkage long sys_sigreturn(struct pt_regs *regs) sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (restore_sigregs(regs, &frame->sregs)) @@ -251,7 +251,7 @@ asmlinkage long sys_rt_sigreturn(struct pt_regs *regs) sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (restore_sigregs(regs, &frame->uc.uc_mcontext)) @@ -445,7 +445,7 @@ handle_signal(unsigned long sig, struct k_sigaction *ka, spin_lock_irq(¤t->sigmask_lock); sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); sigaddset(¤t->blocked,sig); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); } } diff --git a/arch/s390x/kernel/linux32.c b/arch/s390x/kernel/linux32.c index 0db4c93950bb..883ed691499b 100644 --- a/arch/s390x/kernel/linux32.c +++ b/arch/s390x/kernel/linux32.c @@ -1976,7 +1976,7 @@ sys32_rt_sigtimedwait(sigset_t32 *uthese, siginfo_t32 *uinfo, in so that we'll be awakened when they arrive. */ sigset_t oldblocked = current->blocked; sigandsets(¤t->blocked, ¤t->blocked, &these); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); timeout = MAX_SCHEDULE_TIMEOUT; @@ -1990,7 +1990,7 @@ sys32_rt_sigtimedwait(sigset_t32 *uthese, siginfo_t32 *uinfo, spin_lock_irq(¤t->sigmask_lock); sig = dequeue_signal(&these, &info); current->blocked = oldblocked; - recalc_sigpending(current); + recalc_sigpending(); } spin_unlock_irq(¤t->sigmask_lock); diff --git a/arch/s390x/kernel/signal.c b/arch/s390x/kernel/signal.c index 3b7ab0620845..022b4f00f20c 100644 --- a/arch/s390x/kernel/signal.c +++ b/arch/s390x/kernel/signal.c @@ -96,7 +96,7 @@ sys_sigsuspend(struct pt_regs * regs,int history0, int history1, old_sigset_t ma spin_lock_irq(¤t->sigmask_lock); saveset = current->blocked; siginitset(¤t->blocked, mask); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs->gprs[2] = -EINTR; @@ -124,7 +124,7 @@ sys_rt_sigsuspend(struct pt_regs * regs,sigset_t *unewset, size_t sigsetsize) spin_lock_irq(¤t->sigmask_lock); saveset = current->blocked; current->blocked = newset; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs->gprs[2] = -EINTR; @@ -225,7 +225,7 @@ asmlinkage long sys_sigreturn(struct pt_regs *regs) sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (restore_sigregs(regs, &frame->sregs)) @@ -251,7 +251,7 @@ asmlinkage long sys_rt_sigreturn(struct pt_regs *regs) sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (restore_sigregs(regs, &frame->uc.uc_mcontext)) @@ -445,7 +445,7 @@ handle_signal(unsigned long sig, struct k_sigaction *ka, spin_lock_irq(¤t->sigmask_lock); sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); sigaddset(¤t->blocked,sig); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); } } diff --git a/arch/s390x/kernel/signal32.c b/arch/s390x/kernel/signal32.c index 4a5dc1e44f05..5ae423ffbdae 100644 --- a/arch/s390x/kernel/signal32.c +++ b/arch/s390x/kernel/signal32.c @@ -112,7 +112,7 @@ sys32_sigsuspend(struct pt_regs * regs,int history0, int history1, old_sigset_t spin_lock_irq(¤t->sigmask_lock); saveset = current->blocked; siginitset(¤t->blocked, mask); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs->gprs[2] = -EINTR; @@ -147,7 +147,7 @@ sys32_rt_sigsuspend(struct pt_regs * regs,sigset_t32 *unewset, size_t sigsetsize spin_lock_irq(¤t->sigmask_lock); saveset = current->blocked; current->blocked = newset; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs->gprs[2] = -EINTR; @@ -351,7 +351,7 @@ asmlinkage long sys32_sigreturn(struct pt_regs *regs) sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (restore_sigregs32(regs, &frame->sregs)) @@ -380,7 +380,7 @@ asmlinkage long sys32_rt_sigreturn(struct pt_regs *regs) sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (restore_sigregs32(regs, &frame->uc.uc_mcontext)) @@ -584,7 +584,7 @@ handle_signal32(unsigned long sig, struct k_sigaction *ka, spin_lock_irq(¤t->sigmask_lock); sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); sigaddset(¤t->blocked,sig); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); } } diff --git a/arch/sh/kernel/signal.c b/arch/sh/kernel/signal.c index 3e6077c7be83..93c6b3d7f359 100644 --- a/arch/sh/kernel/signal.c +++ b/arch/sh/kernel/signal.c @@ -83,7 +83,7 @@ sys_sigsuspend(old_sigset_t mask, spin_lock_irq(¤t->sigmask_lock); saveset = current->blocked; siginitset(¤t->blocked, mask); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs.regs[0] = -EINTR; @@ -112,7 +112,7 @@ sys_rt_sigsuspend(sigset_t *unewset, size_t sigsetsize, spin_lock_irq(¤t->sigmask_lock); saveset = current->blocked; current->blocked = newset; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs.regs[0] = -EINTR; @@ -283,7 +283,7 @@ asmlinkage int sys_sigreturn(unsigned long r4, unsigned long r5, spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (restore_sigcontext(®s, &frame->sc, &r0)) @@ -313,7 +313,7 @@ asmlinkage int sys_rt_sigreturn(unsigned long r4, unsigned long r5, sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (restore_sigcontext(®s, &frame->uc.uc_mcontext, &r0)) @@ -558,7 +558,7 @@ handle_signal(unsigned long sig, struct k_sigaction *ka, spin_lock_irq(¤t->sigmask_lock); sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); sigaddset(¤t->blocked,sig); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); } } diff --git a/arch/sparc/kernel/signal.c b/arch/sparc/kernel/signal.c index 7373c876ef86..08ad9624d9e6 100644 --- a/arch/sparc/kernel/signal.c +++ b/arch/sparc/kernel/signal.c @@ -142,7 +142,7 @@ asmlinkage void _sigpause_common(old_sigset_t set, struct pt_regs *regs) spin_lock_irq(¤t->sigmask_lock); saveset = current->blocked; siginitset(¤t->blocked, set); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs->pc = regs->npc; @@ -199,7 +199,7 @@ asmlinkage void do_rt_sigsuspend(sigset_t *uset, size_t sigsetsize, spin_lock_irq(¤t->sigmask_lock); oldset = current->blocked; current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs->pc = regs->npc; @@ -304,7 +304,7 @@ static inline void do_new_sigreturn (struct pt_regs *regs) sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); return; @@ -351,7 +351,7 @@ asmlinkage void do_sigreturn(struct pt_regs *regs) sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs->pc = pc; @@ -421,7 +421,7 @@ asmlinkage void do_rt_sigreturn(struct pt_regs *regs) sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); return; segv: @@ -1022,7 +1022,7 @@ asmlinkage int svr4_setcontext (svr4_ucontext_t *c, struct pt_regs *regs) sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs->pc = pc; regs->npc = npc | 1; @@ -1063,7 +1063,7 @@ handle_signal(unsigned long signr, struct k_sigaction *ka, spin_lock_irq(¤t->sigmask_lock); sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); sigaddset(¤t->blocked, signr); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); } } diff --git a/arch/sparc/kernel/sys_sunos.c b/arch/sparc/kernel/sys_sunos.c index f33c94abfb26..c8187209829e 100644 --- a/arch/sparc/kernel/sys_sunos.c +++ b/arch/sparc/kernel/sys_sunos.c @@ -283,7 +283,7 @@ asmlinkage unsigned long sunos_sigblock(unsigned long blk_mask) spin_lock_irq(¤t->sigmask_lock); old = current->blocked.sig[0]; current->blocked.sig[0] |= (blk_mask & _BLOCKABLE); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); return old; } @@ -295,7 +295,7 @@ asmlinkage unsigned long sunos_sigsetmask(unsigned long newmask) spin_lock_irq(¤t->sigmask_lock); retval = current->blocked.sig[0]; current->blocked.sig[0] = (newmask & _BLOCKABLE); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); return retval; } diff --git a/arch/sparc64/kernel/signal.c b/arch/sparc64/kernel/signal.c index 3dc88d8ceece..d9725034589b 100644 --- a/arch/sparc64/kernel/signal.c +++ b/arch/sparc64/kernel/signal.c @@ -106,7 +106,7 @@ asmlinkage void sparc64_set_context(struct pt_regs *regs) sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); } if (test_thread_flag(TIF_32BIT)) { @@ -294,7 +294,7 @@ asmlinkage void _sigpause_common(old_sigset_t set, struct pt_regs *regs) spin_lock_irq(¤t->sigmask_lock); saveset = current->blocked; siginitset(¤t->blocked, set); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (test_thread_flag(TIF_32BIT)) { @@ -354,7 +354,7 @@ asmlinkage void do_rt_sigsuspend(sigset_t *uset, size_t sigsetsize, struct pt_re spin_lock_irq(¤t->sigmask_lock); oldset = current->blocked; current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (test_thread_flag(TIF_32BIT)) { @@ -460,7 +460,7 @@ void do_rt_sigreturn(struct pt_regs *regs) sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); return; segv: @@ -602,7 +602,7 @@ static inline void handle_signal(unsigned long signr, struct k_sigaction *ka, spin_lock_irq(¤t->sigmask_lock); sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); sigaddset(¤t->blocked,signr); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); } } diff --git a/arch/sparc64/kernel/signal32.c b/arch/sparc64/kernel/signal32.c index 67768cd0d85a..c60a22292400 100644 --- a/arch/sparc64/kernel/signal32.c +++ b/arch/sparc64/kernel/signal32.c @@ -152,7 +152,7 @@ asmlinkage void _sigpause32_common(old_sigset_t32 set, struct pt_regs *regs) spin_lock_irq(¤t->sigmask_lock); saveset = current->blocked; siginitset(¤t->blocked, set); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs->tpc = regs->tnpc; @@ -207,7 +207,7 @@ asmlinkage void do_rt_sigsuspend32(u32 uset, size_t sigsetsize, struct pt_regs * spin_lock_irq(¤t->sigmask_lock); oldset = current->blocked; current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs->tpc = regs->tnpc; @@ -319,7 +319,7 @@ void do_new_sigreturn32(struct pt_regs *regs) sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); return; @@ -366,7 +366,7 @@ asmlinkage void do_sigreturn32(struct pt_regs *regs) sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (test_thread_flag(TIF_32BIT)) { @@ -464,7 +464,7 @@ asmlinkage void do_rt_sigreturn32(struct pt_regs *regs) sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); return; segv: @@ -1087,7 +1087,7 @@ asmlinkage int svr4_setcontext(svr4_ucontext_t *c, struct pt_regs *regs) sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sigmask_lock); current->blocked = set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); regs->tpc = pc; regs->tnpc = npc | 1; @@ -1276,7 +1276,7 @@ static inline void handle_signal32(unsigned long signr, struct k_sigaction *ka, spin_lock_irq(¤t->sigmask_lock); sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); sigaddset(¤t->blocked,signr); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); } } diff --git a/arch/sparc64/kernel/sys_sparc32.c b/arch/sparc64/kernel/sys_sparc32.c index d472d4dc31eb..4cf185e67ceb 100644 --- a/arch/sparc64/kernel/sys_sparc32.c +++ b/arch/sparc64/kernel/sys_sparc32.c @@ -1965,7 +1965,7 @@ sys32_rt_sigtimedwait(sigset_t32 *uthese, siginfo_t32 *uinfo, in so that we'll be awakened when they arrive. */ sigset_t oldblocked = current->blocked; sigandsets(¤t->blocked, ¤t->blocked, &these); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); timeout = MAX_SCHEDULE_TIMEOUT; @@ -1979,7 +1979,7 @@ sys32_rt_sigtimedwait(sigset_t32 *uthese, siginfo_t32 *uinfo, spin_lock_irq(¤t->sigmask_lock); sig = dequeue_signal(&these, &info); current->blocked = oldblocked; - recalc_sigpending(current); + recalc_sigpending(); } spin_unlock_irq(¤t->sigmask_lock); diff --git a/arch/sparc64/kernel/sys_sunos32.c b/arch/sparc64/kernel/sys_sunos32.c index c21d66bf981d..ae069fe2a567 100644 --- a/arch/sparc64/kernel/sys_sunos32.c +++ b/arch/sparc64/kernel/sys_sunos32.c @@ -238,7 +238,7 @@ asmlinkage u32 sunos_sigblock(u32 blk_mask) spin_lock_irq(¤t->sigmask_lock); old = (u32) current->blocked.sig[0]; current->blocked.sig[0] |= (blk_mask & _BLOCKABLE); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); return old; } @@ -250,7 +250,7 @@ asmlinkage u32 sunos_sigsetmask(u32 newmask) spin_lock_irq(¤t->sigmask_lock); retval = (u32) current->blocked.sig[0]; current->blocked.sig[0] = (newmask & _BLOCKABLE); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); return retval; } diff --git a/arch/sparc64/solaris/signal.c b/arch/sparc64/solaris/signal.c index 8a6ecd916d02..070930080fa1 100644 --- a/arch/sparc64/solaris/signal.c +++ b/arch/sparc64/solaris/signal.c @@ -100,13 +100,13 @@ static long solaris_sigset(int sig, u32 arg) if (arg != 2) /* HOLD */ { spin_lock_irq(¤t->sigmask_lock); sigdelsetmask(¤t->blocked, _S(sig)); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); return sig_handler (sig, arg, 0); } else { spin_lock_irq(¤t->sigmask_lock); sigaddsetmask(¤t->blocked, (_S(sig) & ~_BLOCKABLE)); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); return 0; } @@ -121,7 +121,7 @@ static inline long solaris_sigrelse(int sig) { spin_lock_irq(¤t->sigmask_lock); sigdelsetmask(¤t->blocked, _S(sig)); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); return 0; } @@ -312,7 +312,7 @@ asmlinkage int solaris_sigpending(int which, u32 set) case 1: /* sigpending */ spin_lock_irq(¤t->sigmask_lock); sigandsets(&s, ¤t->blocked, ¤t->pending.signal); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); break; case 2: /* sigfillset - I just set signals which have linux equivalents */ diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c index 80ce7fd4d72c..b13f0a88baaf 100644 --- a/drivers/block/nbd.c +++ b/drivers/block/nbd.c @@ -104,7 +104,7 @@ static int nbd_xmit(int send, struct socket *sock, char *buf, int size, int msg_ spin_lock_irqsave(¤t->sigmask_lock, flags); oldset = current->blocked; sigfillset(¤t->blocked); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irqrestore(¤t->sigmask_lock, flags); @@ -139,7 +139,7 @@ static int nbd_xmit(int send, struct socket *sock, char *buf, int size, int msg_ spin_lock_irqsave(¤t->sigmask_lock, flags); current->blocked = oldset; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irqrestore(¤t->sigmask_lock, flags); set_fs(oldfs); diff --git a/drivers/char/ftape/lowlevel/fdc-io.c b/drivers/char/ftape/lowlevel/fdc-io.c index 9b01255d6f0f..6cf7b1c7def4 100644 --- a/drivers/char/ftape/lowlevel/fdc-io.c +++ b/drivers/char/ftape/lowlevel/fdc-io.c @@ -407,7 +407,7 @@ int fdc_interrupt_wait(unsigned int time) spin_lock_irq(¤t->sigmask_lock); old_sigmask = current->blocked; sigfillset(¤t->blocked); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); current->state = TASK_INTERRUPTIBLE; @@ -418,7 +418,7 @@ int fdc_interrupt_wait(unsigned int time) spin_lock_irq(¤t->sigmask_lock); current->blocked = old_sigmask; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); remove_wait_queue(&ftape_wait_intr, &wait); diff --git a/drivers/media/video/saa5249.c b/drivers/media/video/saa5249.c index 81f91ebd6175..afc81ad7b446 100644 --- a/drivers/media/video/saa5249.c +++ b/drivers/media/video/saa5249.c @@ -282,14 +282,14 @@ static void jdelay(unsigned long delay) spin_lock_irq(¤t->sigmask_lock); sigfillset(¤t->blocked); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); current->state = TASK_INTERRUPTIBLE; schedule_timeout(delay); spin_lock_irq(¤t->sigmask_lock); current->blocked = oldblocked; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); } diff --git a/drivers/mtd/devices/blkmtd.c b/drivers/mtd/devices/blkmtd.c index 588084dff7fb..c681ca82c08b 100644 --- a/drivers/mtd/devices/blkmtd.c +++ b/drivers/mtd/devices/blkmtd.c @@ -263,7 +263,7 @@ static int write_queue_task(void *data) tsk->tty = NULL; spin_lock_irq(&tsk->sigmask_lock); sigfillset(&tsk->blocked); - recalc_sigpending(tsk); + recalc_sigpending(); spin_unlock_irq(&tsk->sigmask_lock); if(alloc_kiovec(1, &iobuf)) diff --git a/drivers/mtd/mtdblock.c b/drivers/mtd/mtdblock.c index 3600cef86c13..223f61abef0c 100644 --- a/drivers/mtd/mtdblock.c +++ b/drivers/mtd/mtdblock.c @@ -477,7 +477,7 @@ int mtdblock_thread(void *dummy) strcpy(tsk->comm, "mtdblockd"); spin_lock_irq(&tsk->sigmask_lock); sigfillset(&tsk->blocked); - recalc_sigpending(tsk); + recalc_sigpending(); spin_unlock_irq(&tsk->sigmask_lock); daemonize(); diff --git a/drivers/net/8139too.c b/drivers/net/8139too.c index 91ee34ccbb82..597f11280883 100644 --- a/drivers/net/8139too.c +++ b/drivers/net/8139too.c @@ -1557,7 +1557,7 @@ static int rtl8139_thread (void *data) reparent_to_init(); spin_lock_irq(¤t->sigmask_lock); sigemptyset(¤t->blocked); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); strncpy (current->comm, dev->name, sizeof(current->comm) - 1); diff --git a/drivers/usb/storage/usb.c b/drivers/usb/storage/usb.c index ee8c4c5fc880..484f27155661 100644 --- a/drivers/usb/storage/usb.c +++ b/drivers/usb/storage/usb.c @@ -320,7 +320,7 @@ static int usb_stor_control_thread(void * __us) spin_lock_irq(¤t->sigmask_lock); flush_signals(current); sigfillset(¤t->blocked); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); /* set our name for identification purposes */ diff --git a/fs/autofs/waitq.c b/fs/autofs/waitq.c index b70b72d84072..c59c08ad4dc1 100644 --- a/fs/autofs/waitq.c +++ b/fs/autofs/waitq.c @@ -72,7 +72,7 @@ static int autofs_write(struct file *file, const void *addr, int bytes) if (wr == -EPIPE && !sigpipe) { spin_lock_irqsave(¤t->sigmask_lock, flags); sigdelset(¤t->pending.signal, SIGPIPE); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irqrestore(¤t->sigmask_lock, flags); } @@ -164,14 +164,14 @@ int autofs_wait(struct autofs_sb_info *sbi, struct qstr *name) spin_lock_irqsave(¤t->sigmask_lock, irqflags); oldset = current->blocked; siginitsetinv(¤t->blocked, SHUTDOWN_SIGS & ~oldset.sig[0]); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irqrestore(¤t->sigmask_lock, irqflags); interruptible_sleep_on(&wq->queue); spin_lock_irqsave(¤t->sigmask_lock, irqflags); current->blocked = oldset; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irqrestore(¤t->sigmask_lock, irqflags); } else { DPRINTK(("autofs_wait: skipped sleeping\n")); diff --git a/fs/autofs4/waitq.c b/fs/autofs4/waitq.c index 74c010997c59..d21610263c46 100644 --- a/fs/autofs4/waitq.c +++ b/fs/autofs4/waitq.c @@ -76,7 +76,7 @@ static int autofs4_write(struct file *file, const void *addr, int bytes) if (wr == -EPIPE && !sigpipe) { spin_lock_irqsave(¤t->sigmask_lock, flags); sigdelset(¤t->pending.signal, SIGPIPE); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irqrestore(¤t->sigmask_lock, flags); } @@ -201,14 +201,14 @@ int autofs4_wait(struct autofs_sb_info *sbi, struct qstr *name, spin_lock_irqsave(¤t->sigmask_lock, irqflags); oldset = current->blocked; siginitsetinv(¤t->blocked, SHUTDOWN_SIGS & ~oldset.sig[0]); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irqrestore(¤t->sigmask_lock, irqflags); interruptible_sleep_on(&wq->queue); spin_lock_irqsave(¤t->sigmask_lock, irqflags); current->blocked = oldset; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irqrestore(¤t->sigmask_lock, irqflags); } else { DPRINTK(("autofs_wait: skipped sleeping\n")); diff --git a/fs/buffer.c b/fs/buffer.c index 0aef10bb45f2..216490fb8b70 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -2614,7 +2614,7 @@ int bdflush(void *startup) spin_lock_irq(&tsk->sigmask_lock); flush_signals(tsk); sigfillset(&tsk->blocked); - recalc_sigpending(tsk); + recalc_sigpending(); spin_unlock_irq(&tsk->sigmask_lock); complete((struct completion *)startup); @@ -2649,7 +2649,7 @@ int kupdate(void *startup) spin_lock_irq(&tsk->sigmask_lock); sigfillset(&tsk->blocked); siginitsetinv(¤t->blocked, sigmask(SIGCONT) | sigmask(SIGSTOP)); - recalc_sigpending(tsk); + recalc_sigpending(); spin_unlock_irq(&tsk->sigmask_lock); complete((struct completion *)startup); @@ -2675,7 +2675,7 @@ int kupdate(void *startup) sigdelset(&tsk->pending.signal, SIGSTOP); stopped = 1; } - recalc_sigpending(tsk); + recalc_sigpending(); spin_unlock_irq(&tsk->sigmask_lock); if (stopped) goto stop_kupdate; diff --git a/fs/jbd/journal.c b/fs/jbd/journal.c index 32801472a1b4..169b8f4f3c22 100644 --- a/fs/jbd/journal.c +++ b/fs/jbd/journal.c @@ -205,7 +205,7 @@ int kjournald(void *arg) daemonize(); spin_lock_irq(¤t->sigmask_lock); sigfillset(¤t->blocked); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); sprintf(current->comm, "kjournald"); diff --git a/fs/jffs/intrep.c b/fs/jffs/intrep.c index 39b6c3730b2d..e1a0d5d9b833 100644 --- a/fs/jffs/intrep.c +++ b/fs/jffs/intrep.c @@ -3352,7 +3352,7 @@ jffs_garbage_collect_thread(void *ptr) init_completion(&c->gc_thread_comp); /* barrier */ spin_lock_irq(¤t->sigmask_lock); siginitsetinv (¤t->blocked, sigmask(SIGHUP) | sigmask(SIGKILL) | sigmask(SIGSTOP) | sigmask(SIGCONT)); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); strcpy(current->comm, "jffs_gcd"); diff --git a/fs/jffs2/background.c b/fs/jffs2/background.c index ac1a66b9acd9..b2f1b8c79c80 100644 --- a/fs/jffs2/background.c +++ b/fs/jffs2/background.c @@ -114,7 +114,7 @@ static int jffs2_garbage_collect_thread(void *_c) for (;;) { spin_lock_irq(¤t->sigmask_lock); siginitsetinv (¤t->blocked, sigmask(SIGHUP) | sigmask(SIGKILL) | sigmask(SIGSTOP) | sigmask(SIGCONT)); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (!thread_should_wake(c)) { @@ -164,7 +164,7 @@ static int jffs2_garbage_collect_thread(void *_c) /* We don't want SIGHUP to interrupt us. STOP and KILL are OK though. */ spin_lock_irq(¤t->sigmask_lock); siginitsetinv (¤t->blocked, sigmask(SIGKILL) | sigmask(SIGSTOP) | sigmask(SIGCONT)); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); D1(printk(KERN_DEBUG "jffs2_garbage_collect_thread(): pass\n")); diff --git a/fs/lockd/clntproc.c b/fs/lockd/clntproc.c index d7d00ed2ce98..5397024a473e 100644 --- a/fs/lockd/clntproc.c +++ b/fs/lockd/clntproc.c @@ -148,7 +148,7 @@ nlmclnt_proc(struct inode *inode, int cmd, struct file_lock *fl) && fl->fl_type == F_UNLCK && (current->flags & PF_EXITING)) { sigfillset(¤t->blocked); /* Mask all signals */ - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irqrestore(¤t->sigmask_lock, flags); call = nlmclnt_alloc_call(); @@ -185,7 +185,7 @@ nlmclnt_proc(struct inode *inode, int cmd, struct file_lock *fl) out_restore: spin_lock_irqsave(¤t->sigmask_lock, flags); current->blocked = oldset; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irqrestore(¤t->sigmask_lock, flags); done: @@ -595,7 +595,7 @@ nlmclnt_cancel(struct nlm_host *host, struct file_lock *fl) spin_lock_irqsave(¤t->sigmask_lock, flags); oldset = current->blocked; sigfillset(¤t->blocked); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irqrestore(¤t->sigmask_lock, flags); req = nlmclnt_alloc_call(); @@ -613,7 +613,7 @@ nlmclnt_cancel(struct nlm_host *host, struct file_lock *fl) spin_lock_irqsave(¤t->sigmask_lock, flags); current->blocked = oldset; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irqrestore(¤t->sigmask_lock, flags); return status; diff --git a/fs/lockd/svc.c b/fs/lockd/svc.c index dd3eef4dcb78..cee9f24c08c0 100644 --- a/fs/lockd/svc.c +++ b/fs/lockd/svc.c @@ -104,7 +104,7 @@ lockd(struct svc_rqst *rqstp) /* Process request with signals blocked. */ spin_lock_irq(¤t->sigmask_lock); siginitsetinv(¤t->blocked, sigmask(SIGKILL)); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); /* kick rpciod */ @@ -312,7 +312,7 @@ lockd_down(void) nlmsvc_pid = 0; } spin_lock_irq(¤t->sigmask_lock); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); out: up(&nlmsvc_sema); diff --git a/fs/ncpfs/sock.c b/fs/ncpfs/sock.c index a9c4a4c3b653..3aa161a6735c 100644 --- a/fs/ncpfs/sock.c +++ b/fs/ncpfs/sock.c @@ -472,7 +472,7 @@ static int ncp_do_request(struct ncp_server *server, int size, mask |= sigmask(SIGQUIT); } siginitsetinv(¤t->blocked, mask); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irqrestore(¤t->sigmask_lock, flags); fs = get_fs(); @@ -487,7 +487,7 @@ static int ncp_do_request(struct ncp_server *server, int size, spin_lock_irqsave(¤t->sigmask_lock, flags); current->blocked = old_set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irqrestore(¤t->sigmask_lock, flags); } diff --git a/fs/nfsd/export.c b/fs/nfsd/export.c index 6f725d3562cd..1e4c458f9c06 100644 --- a/fs/nfsd/export.c +++ b/fs/nfsd/export.c @@ -445,7 +445,7 @@ exp_writelock(void) /* restore the task's signals */ spin_lock_irq(¤t->sigmask_lock); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (!hash_count && !hash_lock) diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c index cade5f6e1364..3c4d5630f760 100644 --- a/fs/nfsd/nfssvc.c +++ b/fs/nfsd/nfssvc.c @@ -180,7 +180,7 @@ nfsd(struct svc_rqst *rqstp) /* Block all but the shutdown signals */ spin_lock_irq(¤t->sigmask_lock); siginitsetinv(¤t->blocked, SHUTDOWN_SIGS); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); /* @@ -205,7 +205,7 @@ nfsd(struct svc_rqst *rqstp) /* Process request with signals blocked. */ spin_lock_irq(¤t->sigmask_lock); siginitsetinv(¤t->blocked, ALLOWED_SIGS); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); svc_process(serv, rqstp); diff --git a/fs/reiserfs/journal.c b/fs/reiserfs/journal.c index 3bb94741c6c5..a6c75f0c854a 100644 --- a/fs/reiserfs/journal.c +++ b/fs/reiserfs/journal.c @@ -1839,7 +1839,7 @@ static int reiserfs_journal_commit_thread(void *nullp) { spin_lock_irq(¤t->sigmask_lock); sigfillset(¤t->blocked); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); sprintf(current->comm, "kreiserfsd") ; diff --git a/fs/smbfs/sock.c b/fs/smbfs/sock.c index 78ea22184419..f61d666b7b75 100644 --- a/fs/smbfs/sock.c +++ b/fs/smbfs/sock.c @@ -638,7 +638,7 @@ smb_request(struct smb_sb_info *server) sigpipe = sigismember(¤t->pending.signal, SIGPIPE); old_set = current->blocked; siginitsetinv(¤t->blocked, sigmask(SIGKILL)|sigmask(SIGSTOP)); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irqrestore(¤t->sigmask_lock, flags); fs = get_fs(); @@ -655,7 +655,7 @@ smb_request(struct smb_sb_info *server) if (result == -EPIPE && !sigpipe) sigdelset(¤t->pending.signal, SIGPIPE); current->blocked = old_set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irqrestore(¤t->sigmask_lock, flags); set_fs(fs); @@ -829,7 +829,7 @@ smb_trans2_request(struct smb_sb_info *server, __u16 trans2_command, sigpipe = sigismember(¤t->pending.signal, SIGPIPE); old_set = current->blocked; siginitsetinv(¤t->blocked, sigmask(SIGKILL)|sigmask(SIGSTOP)); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irqrestore(¤t->sigmask_lock, flags); fs = get_fs(); @@ -848,7 +848,7 @@ smb_trans2_request(struct smb_sb_info *server, __u16 trans2_command, if (result == -EPIPE && !sigpipe) sigdelset(¤t->pending.signal, SIGPIPE); current->blocked = old_set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irqrestore(¤t->sigmask_lock, flags); set_fs(fs); diff --git a/include/linux/sched.h b/include/linux/sched.h index dd6dc6983e04..53436877d0b3 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -902,9 +902,17 @@ static inline void cond_resched(void) This is required every time the blocked sigset_t changes. Athread cathreaders should have t->sigmask_lock. */ -static inline void recalc_sigpending(struct task_struct *t) +static inline void recalc_sigpending_tsk(struct task_struct *t) { if (has_pending_signals(&t->pending.signal, &t->blocked)) + set_tsk_thread_flag(t, TIF_SIGPENDING); + else + clear_tsk_thread_flag(t, TIF_SIGPENDING); +} + +static inline void recalc_sigpending(void) +{ + if (has_pending_signals(¤t->pending.signal, ¤t->blocked)) set_thread_flag(TIF_SIGPENDING); else clear_thread_flag(TIF_SIGPENDING); diff --git a/kernel/context.c b/kernel/context.c index 4fbd1924c833..584e57aa2835 100644 --- a/kernel/context.c +++ b/kernel/context.c @@ -77,7 +77,7 @@ static int context_thread(void *startup) spin_lock_irq(&curtask->sigmask_lock); siginitsetinv(&curtask->blocked, sigmask(SIGCHLD)); - recalc_sigpending(curtask); + recalc_sigpending(); spin_unlock_irq(&curtask->sigmask_lock); complete((struct completion *)startup); @@ -106,7 +106,7 @@ static int context_thread(void *startup) ; spin_lock_irq(&curtask->sigmask_lock); flush_signals(curtask); - recalc_sigpending(curtask); + recalc_sigpending(); spin_unlock_irq(&curtask->sigmask_lock); } } diff --git a/kernel/kmod.c b/kernel/kmod.c index ca16be25c188..081017010e88 100644 --- a/kernel/kmod.c +++ b/kernel/kmod.c @@ -113,7 +113,7 @@ int exec_usermodehelper(char *program_path, char *argv[], char *envp[]) sigemptyset(&curtask->blocked); flush_signals(curtask); flush_signal_handlers(curtask); - recalc_sigpending(curtask); + recalc_sigpending(); spin_unlock_irq(&curtask->sigmask_lock); for (i = 0; i < curtask->files->max_fds; i++ ) { @@ -228,7 +228,7 @@ int request_module(const char * module_name) spin_lock_irq(¤t->sigmask_lock); tmpsig = current->blocked; siginitsetinv(¤t->blocked, sigmask(SIGKILL) | sigmask(SIGSTOP)); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); waitpid_result = waitpid(pid, NULL, __WCLONE); @@ -237,7 +237,7 @@ int request_module(const char * module_name) /* Allow signals again.. */ spin_lock_irq(¤t->sigmask_lock); current->blocked = tmpsig; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (waitpid_result != pid) { diff --git a/kernel/signal.c b/kernel/signal.c index 78a9be269db3..ba05345660c9 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -153,7 +153,7 @@ sig_exit(int sig, int exit_code, struct siginfo *info) struct task_struct *t; sigaddset(¤t->pending.signal, sig); - recalc_sigpending(current); + recalc_sigpending(); current->flags |= PF_SIGNALED; /* Propagate the signal to all the tasks in @@ -202,7 +202,7 @@ unblock_all_signals(void) spin_lock_irqsave(¤t->sigmask_lock, flags); current->notifier = NULL; current->notifier_data = NULL; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irqrestore(¤t->sigmask_lock, flags); } @@ -288,7 +288,7 @@ printk("SIG dequeue (%s:%d): %d ", current->comm, current->pid, /* XXX: Once POSIX.1b timers are in, if si_code == SI_TIMER, we need to xchg out the timer overrun values. */ } - recalc_sigpending(current); + recalc_sigpending(); #if DEBUG_SIG printk(" %d -> %d\n", signal_pending(current), sig); @@ -598,7 +598,7 @@ force_sig_info(int sig, struct siginfo *info, struct task_struct *t) if (t->sig->action[sig-1].sa.sa_handler == SIG_IGN) t->sig->action[sig-1].sa.sa_handler = SIG_DFL; sigdelset(&t->blocked, sig); - recalc_sigpending(t); + recalc_sigpending_tsk(t); spin_unlock_irqrestore(&t->sigmask_lock, flags); return send_sig_info(sig, info, t); @@ -835,7 +835,6 @@ EXPORT_SYMBOL(kill_proc_info); EXPORT_SYMBOL(kill_sl); EXPORT_SYMBOL(kill_sl_info); EXPORT_SYMBOL(notify_parent); -EXPORT_SYMBOL(recalc_sigpending); EXPORT_SYMBOL(send_sig); EXPORT_SYMBOL(send_sig_info); EXPORT_SYMBOL(block_all_signals); @@ -887,7 +886,7 @@ sys_rt_sigprocmask(int how, sigset_t *set, sigset_t *oset, size_t sigsetsize) } current->blocked = new_set; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (error) goto out; @@ -979,7 +978,7 @@ sys_rt_sigtimedwait(const sigset_t *uthese, siginfo_t *uinfo, * be awakened when they arrive. */ sigset_t oldblocked = current->blocked; sigandsets(¤t->blocked, ¤t->blocked, &these); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); current->state = TASK_INTERRUPTIBLE; @@ -988,7 +987,7 @@ sys_rt_sigtimedwait(const sigset_t *uthese, siginfo_t *uinfo, spin_lock_irq(¤t->sigmask_lock); sig = dequeue_signal(&these, &info); current->blocked = oldblocked; - recalc_sigpending(current); + recalc_sigpending(); } } spin_unlock_irq(¤t->sigmask_lock); @@ -1114,7 +1113,7 @@ do_sigaction(int sig, const struct k_sigaction *act, struct k_sigaction *oact) sig == SIGWINCH))) { spin_lock_irq(¤t->sigmask_lock); if (rm_sig_from_queue(sig, current)) - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); } } @@ -1227,7 +1226,7 @@ sys_sigprocmask(int how, old_sigset_t *set, old_sigset_t *oset) break; } - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); if (error) goto out; @@ -1295,7 +1294,7 @@ sys_ssetmask(int newmask) siginitset(¤t->blocked, newmask & ~(sigmask(SIGKILL)| sigmask(SIGSTOP))); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); return old; diff --git a/net/khttpd/main.c b/net/khttpd/main.c index 4065e8f8f38e..3f09905ec7c8 100644 --- a/net/khttpd/main.c +++ b/net/khttpd/main.c @@ -115,7 +115,7 @@ static int MainDaemon(void *cpu_pointer) spin_lock_irq(¤t->sigmask_lock); tmpsig = current->blocked; siginitsetinv(¤t->blocked, sigmask(SIGKILL) | sigmask(SIGSTOP)| sigmask(SIGHUP)); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); @@ -203,7 +203,7 @@ static int ManagementDaemon(void *unused) spin_lock_irq(¤t->sigmask_lock); tmpsig = current->blocked; siginitsetinv(¤t->blocked, sigmask(SIGKILL) | sigmask(SIGSTOP) ); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c index abb7179a836d..30fc84523fdb 100644 --- a/net/sunrpc/clnt.c +++ b/net/sunrpc/clnt.c @@ -221,7 +221,7 @@ void rpc_clnt_sigmask(struct rpc_clnt *clnt, sigset_t *oldset) spin_lock_irqsave(¤t->sigmask_lock, irqflags); *oldset = current->blocked; siginitsetinv(¤t->blocked, sigallow & ~oldset->sig[0]); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irqrestore(¤t->sigmask_lock, irqflags); } @@ -231,7 +231,7 @@ void rpc_clnt_sigunmask(struct rpc_clnt *clnt, sigset_t *oldset) spin_lock_irqsave(¤t->sigmask_lock, irqflags); current->blocked = *oldset; - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irqrestore(¤t->sigmask_lock, irqflags); } diff --git a/net/sunrpc/sched.c b/net/sunrpc/sched.c index fb480e53c8ae..30d86ec293a2 100644 --- a/net/sunrpc/sched.c +++ b/net/sunrpc/sched.c @@ -1063,7 +1063,7 @@ rpciod(void *ptr) spin_lock_irq(¤t->sigmask_lock); siginitsetinv(¤t->blocked, sigmask(SIGKILL)); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irq(¤t->sigmask_lock); strcpy(current->comm, "rpciod"); @@ -1119,7 +1119,7 @@ rpciod_killall(void) } spin_lock_irqsave(¤t->sigmask_lock, flags); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irqrestore(¤t->sigmask_lock, flags); } @@ -1197,7 +1197,7 @@ rpciod_down(void) interruptible_sleep_on(&rpciod_killer); } spin_lock_irqsave(¤t->sigmask_lock, flags); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irqrestore(¤t->sigmask_lock, flags); out: up(&rpciod_sema); diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c index c7793beee074..b4cc3d7f87d0 100644 --- a/net/sunrpc/svc.c +++ b/net/sunrpc/svc.c @@ -201,7 +201,7 @@ svc_register(struct svc_serv *serv, int proto, unsigned short port) if (!port) { spin_lock_irqsave(¤t->sigmask_lock, flags); - recalc_sigpending(current); + recalc_sigpending(); spin_unlock_irqrestore(¤t->sigmask_lock, flags); } |
