Accomodate the signal locking moving from "tsk->sig" to "tsk->sighand".
unsigned long block, unblock;
newmask &= _BLOCKABLE;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
oldmask = current->blocked.sig[0];
unblock = oldmask & ~newmask;
sigemptyset(¤t->blocked);
current->blocked.sig[0] = newmask;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
(®s)->r0 = 0; /* special no error return */
}
sigset_t oldset;
mask &= _BLOCKABLE;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
oldset = current->blocked;
siginitset(¤t->blocked, mask);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
while (1) {
current->state = TASK_INTERRUPTIBLE;
return -EFAULT;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
oldset = current->blocked;
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
while (1) {
current->state = TASK_INTERRUPTIBLE;
goto give_sigsegv;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (restore_sigcontext(&frame->sc, regs, sw))
goto give_sigsegv;
goto give_sigsegv;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (restore_sigcontext(&frame->uc.uc_mcontext, regs, sw))
goto give_sigsegv;
ka->sa.sa_handler = SIG_DFL;
if (!(ka->sa.sa_flags & SA_NODEFER)) {
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask);
sigaddset(¤t->blocked,sig);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
}
}
sigset_t saveset;
mask &= _BLOCKABLE;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
saveset = current->blocked;
siginitset(¤t->blocked, mask);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
regs->ARM_r0 = -EINTR;
while (1) {
return -EFAULT;
sigdelsetmask(&newset, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
saveset = current->blocked;
current->blocked = newset;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
regs->ARM_r0 = -EINTR;
while (1) {
goto badframe;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (restore_sigcontext(regs, &frame->sc))
goto badframe;
goto badframe;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (restore_sigcontext(regs, &frame->uc.uc_mcontext))
goto badframe;
ka->sa.sa_handler = SIG_DFL;
if (!(ka->sa.sa_flags & SA_NODEFER)) {
- spin_lock_irq(&tsk->sig->siglock);
+ spin_lock_irq(&tsk->sighand->siglock);
sigorsets(&tsk->blocked, &tsk->blocked,
&ka->sa.sa_mask);
sigaddset(&tsk->blocked, sig);
recalc_sigpending();
- spin_unlock_irq(&tsk->sig->siglock);
+ spin_unlock_irq(&tsk->sighand->siglock);
}
return;
}
unsigned long signr = 0;
struct k_sigaction *ka;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
signr = dequeue_signal(¤t->blocked, &info);
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (!signr)
break;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
{
oldset = current->blocked;
current->blocked = set;
recalc_sigpending();
}
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
/*
* The return below usually returns to the signal handler. We need to pre-set the
goto badframe;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = (sigset_t) set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (restore_sigcontext_ia32(regs, &frame->sc, &eax))
goto badframe;
goto badframe;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (restore_sigcontext_ia32(regs, &frame->uc.uc_mcontext, &eax))
goto badframe;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
{
oldset = current->blocked;
current->blocked = set;
recalc_sigpending();
}
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
/*
* The return below usually returns to the signal handler. We need to
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
{
current->blocked = set;
recalc_sigpending();
}
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (restore_sigcontext(sc, scr))
goto give_sigsegv;
ka->sa.sa_handler = SIG_DFL;
if (!(ka->sa.sa_flags & SA_NODEFER)) {
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
{
sigorsets(¤t->blocked, ¤t->blocked, &ka->sa.sa_mask);
sigaddset(¤t->blocked, sig);
recalc_sigpending();
}
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
}
return 1;
}
sigset_t saveset;
mask &= _BLOCKABLE;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
saveset = current->blocked;
siginitset(¤t->blocked, mask);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
regs->d0 = -EINTR;
while (1) {
return -EFAULT;
sigdelsetmask(&newset, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
saveset = current->blocked;
current->blocked = newset;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
regs->d0 = -EINTR;
while (1) {
goto badframe;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (restore_sigcontext(regs, &frame->sc, frame + 1, &d0))
goto badframe;
goto badframe;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (rt_restore_ucontext(regs, sw, &frame->uc, &d0))
goto badframe;
ka->sa.sa_handler = SIG_DFL;
if (!(ka->sa.sa_flags & SA_NODEFER)) {
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask);
sigaddset(¤t->blocked,sig);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
}
}
#endif
sigdelsetmask(&newset, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
saveset = current->blocked;
current->blocked = newset;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
regs->gr[28] = -EINTR;
while (1) {
goto give_sigsegv;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
/* Good thing we saved the old gr[30], eh? */
if (restore_sigcontext(&frame->uc.uc_mcontext, regs))
ka->sa.sa_handler = SIG_DFL;
if (!(ka->sa.sa_flags & SA_NODEFER)) {
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask);
sigaddset(¤t->blocked,sig);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
}
return 1;
}
sigset_t saveset;
mask &= _BLOCKABLE;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
saveset = current->blocked;
siginitset(¤t->blocked, mask);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
regs->result = -EINTR;
regs->ccr |= 0x10000000;
return -EFAULT;
sigdelsetmask(&newset, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
saveset = current->blocked;
current->blocked = newset;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
regs->result = -EINTR;
regs->ccr |= 0x10000000;
|| copy_from_user(&st, &rt_sf->uc.uc_stack, sizeof(st)))
goto badframe;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (regs->msr & MSR_FP)
giveup_fpu(current);
set.sig[1] = sigctx._unused[3];
#endif
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (regs->msr & MSR_FP )
giveup_fpu(current);
ka->sa.sa_handler = SIG_DFL;
if (!(ka->sa.sa_flags & SA_NODEFER)) {
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask);
sigaddset(¤t->blocked,sig);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
}
return;
return -EFAULT;
sigdelsetmask(&newset, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
saveset = current->blocked;
current->blocked = newset;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
regs->result = -EINTR;
regs->gpr[3] = EINTR;
|| copy_from_user(&st, &rt_sf->uc.uc_stack, sizeof(st)))
goto badframe;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (regs->msr & MSR_FP)
giveup_fpu(current);
ka->sa.sa_handler = SIG_DFL;
if (!(ka->sa.sa_flags & SA_NODEFER)) {
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask);
sigaddset(¤t->blocked,sig);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
}
return;
sigset_t saveset;
mask &= _BLOCKABLE;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
saveset = current->blocked;
siginitset(¤t->blocked, mask);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
regs->result = -EINTR;
regs->gpr[3] = EINTR;
*/
set.sig[0] = sigctx.oldmask + ((long)(sigctx._unused[3]) << 32);
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (regs->msr & MSR_FP )
giveup_fpu(current);
/* Last stacked signal - restore registers */
*/
sigdelsetmask(&set, ~_BLOCKABLE);
/* update the current based on the sigmask found in the rt_stackframe */
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
/* If currently owning the floating point - give them up */
if (regs->msr & MSR_FP)
sigdelsetmask(&newset, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
saveset = current->blocked;
current->blocked = newset;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
regs->result = -EINTR;
regs->gpr[3] = EINTR;
ka->sa.sa_handler = SIG_DFL;
if (!(ka->sa.sa_flags & SA_NODEFER)) {
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask);
sigaddset(¤t->blocked,sig);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
}
return;
sigset_t saveset;
mask &= _BLOCKABLE;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
saveset = current->blocked;
siginitset(¤t->blocked, mask);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
regs->gprs[2] = -EINTR;
while (1) {
return -EFAULT;
sigdelsetmask(&newset, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
saveset = current->blocked;
current->blocked = newset;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
regs->gprs[2] = -EINTR;
while (1) {
goto badframe;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (restore_sigregs(regs, &frame->sregs))
goto badframe;
goto badframe;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (restore_sigregs(regs, &frame->uc.uc_mcontext))
goto badframe;
ka->sa.sa_handler = SIG_DFL;
if (!(ka->sa.sa_flags & SA_NODEFER)) {
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask);
sigaddset(¤t->blocked,sig);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
}
}
return -EINVAL;
}
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sig = dequeue_signal(&these, &info);
if (!sig) {
/* None ready -- temporarily unblock those we're interested
current->real_blocked = current->blocked;
sigandsets(¤t->blocked, ¤t->blocked, &these);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
timeout = MAX_SCHEDULE_TIMEOUT;
if (uts)
current->state = TASK_INTERRUPTIBLE;
timeout = schedule_timeout(timeout);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sig = dequeue_signal(&these, &info);
current->blocked = current->real_blocked;
siginitset(¤t->real_blocked, 0);
recalc_sigpending();
}
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (sig) {
ret = sig;
sigset_t saveset;
mask &= _BLOCKABLE;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
saveset = current->blocked;
siginitset(¤t->blocked, mask);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
regs->gprs[2] = -EINTR;
while (1) {
return -EFAULT;
sigdelsetmask(&newset, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
saveset = current->blocked;
current->blocked = newset;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
regs->gprs[2] = -EINTR;
while (1) {
goto badframe;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (restore_sigregs(regs, &frame->sregs))
goto badframe;
goto badframe;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (restore_sigregs(regs, &frame->uc.uc_mcontext))
goto badframe;
ka->sa.sa_handler = SIG_DFL;
if (!(ka->sa.sa_flags & SA_NODEFER)) {
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask);
sigaddset(¤t->blocked,sig);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
}
}
sigset_t saveset;
mask &= _BLOCKABLE;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
saveset = current->blocked;
siginitset(¤t->blocked, mask);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
regs->gprs[2] = -EINTR;
while (1) {
}
sigdelsetmask(&newset, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
saveset = current->blocked;
current->blocked = newset;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
regs->gprs[2] = -EINTR;
while (1) {
goto badframe;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (restore_sigregs32(regs, &frame->sregs))
goto badframe;
goto badframe;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (restore_sigregs32(regs, &frame->uc.uc_mcontext))
goto badframe;
ka->sa.sa_handler = SIG_DFL;
if (!(ka->sa.sa_flags & SA_NODEFER)) {
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask);
sigaddset(¤t->blocked,sig);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
}
}
sigset_t saveset;
set &= _BLOCKABLE;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
saveset = current->blocked;
siginitset(¤t->blocked, set);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
regs->pc = regs->npc;
regs->npc += 4;
}
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
oldset = current->blocked;
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
regs->pc = regs->npc;
regs->npc += 4;
goto segv_and_exit;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
return;
segv_and_exit:
goto segv_and_exit;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
regs->pc = pc;
regs->npc = npc;
do_sigaltstack(&st, NULL, (unsigned long)sf);
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
return;
segv:
send_sig(SIGSEGV, current, 1);
set.sig[3] = setv.sigbits[3];
}
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
regs->pc = pc;
regs->npc = npc | 1;
err |= __get_user(regs->y, &((*gr) [SVR4_Y]));
if(ka->sa.sa_flags & SA_ONESHOT)
ka->sa.sa_handler = SIG_DFL;
if(!(ka->sa.sa_flags & SA_NOMASK)) {
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask);
sigaddset(¤t->blocked, signr);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
}
}
sigset_t *mask = ¤t->blocked;
unsigned long signr = 0;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
signr = dequeue_signal(mask, &info);
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (!signr)
break;
{
unsigned long old;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
old = current->blocked.sig[0];
current->blocked.sig[0] |= (blk_mask & _BLOCKABLE);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
return old;
}
{
unsigned long retval;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
retval = current->blocked.sig[0];
current->blocked.sig[0] = (newmask & _BLOCKABLE);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
return retval;
}
again:
while (button_pressed == 0) {
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
flush_signals(current);
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
interruptible_sleep_on(&powerd_wait);
}
goto do_sigsegv;
}
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
}
if (test_thread_flag(TIF_32BIT)) {
pc &= 0xffffffff;
}
#endif
set &= _BLOCKABLE;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
saveset = current->blocked;
siginitset(¤t->blocked, set);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (test_thread_flag(TIF_32BIT)) {
regs->tpc = (regs->tnpc & 0xffffffff);
}
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
oldset = current->blocked;
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (test_thread_flag(TIF_32BIT)) {
regs->tpc = (regs->tnpc & 0xffffffff);
set_fs(old_fs);
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
return;
segv:
send_sig(SIGSEGV, current, 1);
if (ka->sa.sa_flags & SA_ONESHOT)
ka->sa.sa_handler = SIG_DFL;
if (!(ka->sa.sa_flags & SA_NOMASK)) {
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask);
sigaddset(¤t->blocked,signr);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
}
}
sigset_t *mask = ¤t->blocked;
unsigned long signr = 0;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
signr = dequeue_signal(mask, &info);
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (!signr)
break;
sigset_t saveset;
set &= _BLOCKABLE;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
saveset = current->blocked;
siginitset(¤t->blocked, set);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
regs->tpc = regs->tnpc;
regs->tnpc += 4;
case 1: set.sig[0] = set32.sig[0] + (((long)set32.sig[1]) << 32);
}
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
oldset = current->blocked;
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
regs->tpc = regs->tnpc;
regs->tnpc += 4;
case 1: set.sig[0] = seta[0] + (((long)seta[1]) << 32);
}
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
return;
segv:
case 1: set.sig[0] = seta[0] + (((long)seta[1]) << 32);
}
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (test_thread_flag(TIF_32BIT)) {
pc &= 0xffffffff;
case 1: set.sig[0] = seta.sig[0] + (((long)seta.sig[1]) << 32);
}
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
return;
segv:
do_exit(SIGSEGV);
set_fs(old_fs);
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
regs->tpc = pc;
regs->tnpc = npc | 1;
if (test_thread_flag(TIF_32BIT)) {
if (ka->sa.sa_flags & SA_ONESHOT)
ka->sa.sa_handler = SIG_DFL;
if (!(ka->sa.sa_flags & SA_NOMASK)) {
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask);
sigaddset(¤t->blocked,signr);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
}
}
sigset_t *mask = ¤t->blocked;
unsigned long signr = 0;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
signr = dequeue_signal(mask, &info);
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (!signr)
break;
return -EINVAL;
}
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sig = dequeue_signal(&these, &info);
if (!sig) {
timeout = MAX_SCHEDULE_TIMEOUT;
current->real_blocked = current->blocked;
sigandsets(¤t->blocked, ¤t->blocked, &these);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
current->state = TASK_INTERRUPTIBLE;
timeout = schedule_timeout(timeout);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sig = dequeue_signal(&these, &info);
current->blocked = current->real_blocked;
siginitset(¤t->real_blocked, 0);
recalc_sigpending();
}
}
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (sig) {
ret = sig;
{
u32 old;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
old = (u32) current->blocked.sig[0];
current->blocked.sig[0] |= (blk_mask & _BLOCKABLE);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
return old;
}
{
u32 retval;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
retval = (u32) current->blocked.sig[0];
current->blocked.sig[0] = (newmask & _BLOCKABLE);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
return retval;
}
static long solaris_sigset(int sig, u32 arg)
{
if (arg != 2) /* HOLD */ {
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sigdelsetmask(¤t->blocked, _S(sig));
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
return sig_handler (sig, arg, 0);
} else {
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sigaddsetmask(¤t->blocked, (_S(sig) & ~_BLOCKABLE));
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
return 0;
}
}
static inline long solaris_sigrelse(int sig)
{
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sigdelsetmask(¤t->blocked, _S(sig));
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
return 0;
}
u32 tmp[4];
switch (which) {
case 1: /* sigpending */
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sigandsets(&s, ¤t->blocked, ¤t->pending.signal);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
break;
case 2: /* sigfillset - I just set signals which have linux equivalents */
sigfillset(&s);
ka->sa.sa_handler = SIG_DFL;
if (!(ka->sa.sa_flags & SA_NODEFER)) {
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sigorsets(¤t->blocked, ¤t->blocked,
&ka->sa.sa_mask);
sigaddset(¤t->blocked, signr);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
}
sp = PT_REGS_SP(regs);
sigset_t saveset;
mask &= _BLOCKABLE;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
saveset = current->blocked;
siginitset(¤t->blocked, mask);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
while (1) {
current->state = TASK_INTERRUPTIBLE;
return -EFAULT;
sigdelsetmask(&newset, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
saveset = current->blocked;
current->blocked = newset;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
while (1) {
current->state = TASK_INTERRUPTIBLE;
void *mask = sp_to_mask(PT_REGS_SP(¤t->thread.regs));
int sig_size = (_NSIG_WORDS - 1) * sizeof(unsigned long);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
copy_from_user(¤t->blocked.sig[0], sc_sigmask(sc),
sizeof(current->blocked.sig[0]));
copy_from_user(¤t->blocked.sig[1], mask, sig_size);
sigdelsetmask(¤t->blocked, ~_BLOCKABLE);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
copy_sc_from_user(¤t->thread.regs, sc,
&signal_frame_sc.common.arch);
return(PT_REGS_SYSCALL_RET(¤t->thread.regs));
void *fp;
int sig_size = _NSIG_WORDS * sizeof(unsigned long);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
copy_from_user(¤t->blocked, &uc->uc_sigmask, sig_size);
sigdelsetmask(¤t->blocked, ~_BLOCKABLE);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
fp = (void *) (((unsigned long) uc) + sizeof(struct ucontext));
copy_sc_from_user(¤t->thread.regs, &uc->uc_mcontext,
&signal_frame_si.common.arch);
sigset_t saveset;
mask &= _BLOCKABLE;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
saveset = current->blocked;
siginitset(¤t->blocked, mask);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
regs->gpr[GPR_RVAL] = -EINTR;
while (1) {
if (copy_from_user(&newset, unewset, sizeof(newset)))
return -EFAULT;
sigdelsetmask(&newset, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
saveset = current->blocked;
current->blocked = newset;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
regs->gpr[GPR_RVAL] = -EINTR;
while (1) {
goto badframe;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (restore_sigcontext(regs, &frame->sc, &rval))
goto badframe;
goto badframe;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (restore_sigcontext(regs, &frame->uc.uc_mcontext, &rval))
goto badframe;
ka->sa.sa_handler = SIG_DFL;
if (!(ka->sa.sa_flags & SA_NODEFER)) {
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask);
sigaddset(¤t->blocked,sig);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
}
}
sigset_t saveset;
mask &= _BLOCKABLE;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
saveset = current->blocked;
siginitset(¤t->blocked, mask);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
regs.rax = -EINTR;
while (1) {
goto badframe;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (ia32_restore_sigcontext(®s, &frame->sc, &eax))
goto badframe;
goto badframe;
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (ia32_restore_sigcontext(®s, &frame->uc.uc_mcontext, &eax))
goto badframe;
return -EFAULT;
sigdelsetmask(&newset, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
saveset = current->blocked;
current->blocked = newset;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
#if DEBUG_SIG
printk("rt_sigsuspend savset(%lx) newset(%lx) regs(%p) rip(%lx)\n",
saveset, newset, ®s, regs.rip);
}
sigdelsetmask(&set, ~_BLOCKABLE);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = set;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (restore_sigcontext(®s, &frame->uc.uc_mcontext, &eax)) {
goto badframe;
ka->sa.sa_handler = SIG_DFL;
if (!(ka->sa.sa_flags & SA_NODEFER)) {
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask);
sigaddset(¤t->blocked,sig);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
}
}
set_fs(get_ds());
/* Allow interception of SIGKILL only
* Don't allow other signals to interrupt the transmission */
- spin_lock_irqsave(¤t->sig->siglock, flags);
+ spin_lock_irqsave(¤t->sighand->siglock, flags);
oldset = current->blocked;
sigfillset(¤t->blocked);
sigdelsetmask(¤t->blocked, sigmask(SIGKILL));
recalc_sigpending();
- spin_unlock_irqrestore(¤t->sig->siglock, flags);
+ spin_unlock_irqrestore(¤t->sighand->siglock, flags);
do {
if (signal_pending(current)) {
siginfo_t info;
- spin_lock_irqsave(¤t->sig->siglock, flags);
+ spin_lock_irqsave(¤t->sighand->siglock, flags);
printk(KERN_WARNING "NBD (pid %d: %s) got signal %d\n",
current->pid, current->comm,
dequeue_signal(¤t->blocked, &info));
- spin_unlock_irqrestore(¤t->sig->siglock, flags);
+ spin_unlock_irqrestore(¤t->sighand->siglock, flags);
result = -EINTR;
break;
}
buf += result;
} while (size > 0);
- spin_lock_irqsave(¤t->sig->siglock, flags);
+ spin_lock_irqsave(¤t->sighand->siglock, flags);
current->blocked = oldset;
recalc_sigpending();
- spin_unlock_irqrestore(¤t->sig->siglock, flags);
+ spin_unlock_irqrestore(¤t->sighand->siglock, flags);
set_fs(oldfs);
return result;
}
/* Block signals, everything but SIGKILL/SIGSTOP */
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
tmpsig = current->blocked;
siginitsetinv(¤t->blocked, sigmask(SIGKILL) | sigmask(SIGSTOP));
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
result = waitpid(pid, NULL, __WCLONE);
/* Allow signals again */
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = tmpsig;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
if (result != pid) {
printk(KERN_WARNING "bt3c_cs: Waiting for pid %d failed (errno=%d).\n", pid, -result);
/* timeout time will be up to USPT microseconds too long ! */
timeout = (1000 * time + FT_USPT - 1) / FT_USPT;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
old_sigmask = current->blocked;
sigfillset(¤t->blocked);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
current->state = TASK_INTERRUPTIBLE;
add_wait_queue(&ftape_wait_intr, &wait);
timeout = schedule_timeout(timeout);
}
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = old_sigmask;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
remove_wait_queue(&ftape_wait_intr, &wait);
/* the following IS necessary. True: as well
{
strcpy(current->comm, "kadbprobe");
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sigfillset(¤t->blocked);
flush_signals(current);
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
printk(KERN_INFO "adb: starting probe task...\n");
do_adb_reset_bus();
static inline void flush_curr_signals(void)
{
- spin_lock(¤t->sig->siglock);
+ spin_lock(¤t->sighand->siglock);
flush_signals(current);
- spin_unlock(¤t->sig->siglock);
+ spin_unlock(¤t->sighand->siglock);
}
int md_thread(void * arg)
{
sigset_t oldblocked = current->blocked;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sigfillset(¤t->blocked);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
current->state = TASK_INTERRUPTIBLE;
schedule_timeout(delay);
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
current->blocked = oldblocked;
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
}
DEBUG(1, "blkmtd: writetask: starting (pid = %d)\n", tsk->pid);
daemonize();
strcpy(tsk->comm, "blkmtdd");
- spin_lock_irq(&tsk->sig->siglock);
+ spin_lock_irq(&tsk->sighand->siglock);
sigfillset(&tsk->blocked);
recalc_sigpending();
- spin_unlock_irq(&tsk->sig->siglock);
+ spin_unlock_irq(&tsk->sighand->siglock);
if(alloc_kiovec(1, &iobuf)) {
printk("blkmtd: write_queue_task cant allocate kiobuf\n");
/* we might get involved when memory gets low, so use PF_MEMALLOC */
tsk->flags |= PF_MEMALLOC;
strcpy(tsk->comm, "mtdblockd");
- spin_lock_irq(&tsk->sig->siglock);
+ spin_lock_irq(&tsk->sighand->siglock);
sigfillset(&tsk->blocked);
recalc_sigpending();
- spin_unlock_irq(&tsk->sig->siglock);
+ spin_unlock_irq(&tsk->sighand->siglock);
daemonize();
while (!leaving) {
unsigned long timeout;
daemonize();
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sigemptyset(¤t->blocked);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
strncpy (current->comm, dev->name, sizeof(current->comm) - 1);
current->comm[sizeof(current->comm) - 1] = '\0';
} while (!signal_pending (current) && (timeout > 0));
if (signal_pending (current)) {
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
flush_signals(current);
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
}
if (tp->time_to_die)
daemonize();
strcpy(current->comm, "kIrDAd");
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sigfillset(¤t->blocked);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
set_fs(KERNEL_DS);
complete(&kafscmd_alive);
/* only certain signals are of interest */
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
siginitsetinv(¤t->blocked,0);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
/* loop around looking for things to attend to */
do {
while (signal_pending(current)) {
siginfo_t sinfo;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
dequeue_signal(¤t->blocked,&sinfo);
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
}
}
complete(&kafsasyncd_alive);
/* only certain signals are of interest */
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
siginitsetinv(¤t->blocked,0);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
/* loop around looking for things to attend to */
do {
complete(&kafstimod_alive);
/* only certain signals are of interest */
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
siginitsetinv(¤t->blocked,0);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
/* loop around looking for things to attend to */
loop:
current->session = 1;
current->pgrp = 1;
init_completion(&c->gc_thread_comp); /* barrier */
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
siginitsetinv (¤t->blocked, sigmask(SIGHUP) | sigmask(SIGKILL) | sigmask(SIGSTOP) | sigmask(SIGCONT));
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
strcpy(current->comm, "jffs_gcd");
D1(printk (KERN_NOTICE "jffs_garbage_collect_thread(): Starting infinite loop.\n"));
siginfo_t info;
unsigned long signr = 0;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
signr = dequeue_signal(¤t->blocked, &info);
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
switch(signr) {
case SIGSTOP:
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,40)
#define current_sig_lock current->sigmask_lock
#else
-#define current_sig_lock current->sig->siglock
+#define current_sig_lock current->sighand->siglock
#endif
static inline void jffs2_init_inode_info(struct jffs2_inode_info *f)
unlock_kernel();
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sigfillset(¤t->blocked);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
complete(&jfsIOwait);
jfsCommitTask = current;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sigfillset(¤t->blocked);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
LAZY_LOCK_INIT();
TxAnchor.unlock_queue = TxAnchor.unlock_tail = 0;
unlock_kernel();
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sigfillset(¤t->blocked);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
complete(&jfsIOwait);
sigset_t old_set;
unsigned long mask, flags;
- spin_lock_irqsave(¤t->sig->siglock, flags);
+ spin_lock_irqsave(¤t->sighand->siglock, flags);
old_set = current->blocked;
if (current->flags & PF_EXITING)
mask = 0;
}
siginitsetinv(¤t->blocked, mask);
recalc_sigpending();
- spin_unlock_irqrestore(¤t->sig->siglock, flags);
+ spin_unlock_irqrestore(¤t->sighand->siglock, flags);
fs = get_fs();
set_fs(get_ds());
set_fs(fs);
- spin_lock_irqsave(¤t->sig->siglock, flags);
+ spin_lock_irqsave(¤t->sighand->siglock, flags);
current->blocked = old_set;
recalc_sigpending();
- spin_unlock_irqrestore(¤t->sig->siglock, flags);
+ spin_unlock_irqrestore(¤t->sighand->siglock, flags);
}
DDPRINTK("do_ncp_rpc_call returned %d\n", result);
MOD_INC_USE_COUNT;
daemonize();
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
siginitsetinv(¤t->blocked, sigmask(SIGKILL));
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
strcpy(current->comm, "smbiod");
daemonize();
/* Avoid signals */
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
sigfillset(¤t->blocked);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
strcpy(current->comm, "pagebufd");
current->flags |= PF_MEMALLOC;
/* Reevaluate whether the task has signals pending delivery.
This is required every time the blocked sigset_t changes.
- callers must hold sig->siglock. */
+ callers must hold sighand->siglock. */
extern FASTCALL(void recalc_sigpending_tsk(struct task_struct *t));
extern void recalc_sigpending(void);
/* FIXME: smp problem here: we may not access other process' flags
without locking */
p->flags |= PF_FREEZE;
- spin_lock_irqsave(&p->sig->siglock, flags);
+ spin_lock_irqsave(&p->sighand->siglock, flags);
signal_wake_up(p, 0);
- spin_unlock_irqrestore(&p->sig->siglock, flags);
+ spin_unlock_irqrestore(&p->sighand->siglock, flags);
todo++;
} while_each_thread(g, p);
read_unlock(&tasklist_lock);
while (signal_pending(current)) {
siginfo_t sinfo;
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
dequeue_signal(¤t->blocked,&sinfo);
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
}
}
daemonize();
/* only certain signals are of interest */
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
siginitsetinv(¤t->blocked,0);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
/* loop around waiting for work to do */
do {
daemonize();
/* only certain signals are of interest */
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
siginitsetinv(¤t->blocked,0);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
/* loop around waiting for work to do */
do {
complete(&krxtimod_alive);
/* only certain signals are of interest */
- spin_lock_irq(¤t->sig->siglock);
+ spin_lock_irq(¤t->sighand->siglock);
siginitsetinv(¤t->blocked,0);
recalc_sigpending();
- spin_unlock_irq(¤t->sig->siglock);
+ spin_unlock_irq(¤t->sighand->siglock);
/* loop around looking for things to attend to */
loop: