patch-2.4.0-test8 linux/arch/mips/kernel/irixsig.c
Next file: linux/arch/mips/kernel/process.c
Previous file: linux/arch/mips/kernel/irixelf.c
Back to the patch index
Back to the overall index
- Lines: 53
- Date:
Sun Sep 3 11:50:03 2000
- Orig file:
v2.4.0-test7/linux/arch/mips/kernel/irixsig.c
- Orig date:
Mon Jul 10 16:47:19 2000
diff -u --recursive --new-file v2.4.0-test7/linux/arch/mips/kernel/irixsig.c linux/arch/mips/kernel/irixsig.c
@@ -264,7 +264,7 @@
/* FALLTHRU */
default:
- sigaddset(¤t->signal, signr);
+ sigaddset(¤t->pending.signal, signr);
recalc_sigpending(current);
current->flags |= PF_SIGNALED;
do_exit(exit_code);
@@ -429,24 +429,7 @@
asmlinkage int irix_sigpending(irix_sigset_t *set)
{
- int err;
-
- if (verify_area(VERIFY_WRITE, set, sizeof(*set)) < 0)
- return -EFAULT;
-
- /* fill in "set" with signals pending but blocked. */
- spin_lock_irq(¤t->sigmask_lock);
- err = __put_user(current->blocked.sig[0] & current->signal.sig[0],
- &set->sig[0]);
- err |= __put_user(current->blocked.sig[1] & current->signal.sig[1],
- &set->sig[1]);
- err |= __put_user(current->blocked.sig[2] & current->signal.sig[2],
- &set->sig[2]);
- err |= __put_user(current->blocked.sig[3] & current->signal.sig[3],
- &set->sig[3]);
- spin_unlock_irq(¤t->sigmask_lock);
-
- return err;
+ return do_sigpending(set, sizeof(*set));
}
asmlinkage int irix_sigprocmask(int how, irix_sigset_t *new, irix_sigset_t *old)
@@ -605,7 +588,7 @@
expire = schedule_timeout(expire);
for (i=0; i<=4; i++)
- tmp |= (current->signal.sig[i] & kset.sig[i]);
+ tmp |= (current->pending.signal.sig[i] & kset.sig[i]);
if (tmp)
break;
@@ -622,7 +605,7 @@
for(sig = 1; i <= 65 /* IRIX_NSIG */; sig++) {
if (sigismember (&kset, sig))
continue;
- if (sigismember (¤t->signal, sig)) {
+ if (sigismember (¤t->pending.signal, sig)) {
/* XXX need more than this... */
if (info)
info->sig = sig;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)