X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fmips%2Fkernel%2Firixsig.c;fp=arch%2Fmips%2Fkernel%2Firixsig.c;h=08273a2a501d5ca1b837a80bbf1826d269b90113;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=676e868d26fb15ab79b23d7c69be792276185be8;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/arch/mips/kernel/irixsig.c b/arch/mips/kernel/irixsig.c index 676e868d2..08273a2a5 100644 --- a/arch/mips/kernel/irixsig.c +++ b/arch/mips/kernel/irixsig.c @@ -13,7 +13,6 @@ #include #include #include -#include #include #include @@ -261,7 +260,7 @@ irix_sigreturn(struct pt_regs *regs) for(i = 0; i < 32; i++) error |= __get_user(fregs[i], &context->fpregs[i]); - error |= __get_user(current->thread.fpu.fcr31, &context->fpcsr); + error |= __get_user(current->thread.fpu.hard.fcr31, &context->fpcsr); } /* XXX do sigstack crapola here... XXX */ @@ -541,6 +540,8 @@ out: #define IRIX_P_PGID 2 #define IRIX_P_ALL 7 +extern int getrusage(struct task_struct *, int, struct rusage __user *); + #define W_EXITED 1 #define W_TRAPPED 2 #define W_STOPPED 4 @@ -602,7 +603,7 @@ repeat: /* move to end of parent's list to avoid starvation */ write_lock_irq(&tasklist_lock); remove_parent(p); - add_parent(p); + add_parent(p, p->parent); write_unlock_irq(&tasklist_lock); retval = ru ? getrusage(p, RUSAGE_BOTH, ru) : 0; if (retval) @@ -642,7 +643,7 @@ repeat: write_lock_irq(&tasklist_lock); remove_parent(p); p->parent = p->real_parent; - add_parent(p); + add_parent(p, p->parent); do_notify_parent(p, SIGCHLD); write_unlock_irq(&tasklist_lock); } else