From: Yoichi Yuasa The change of get_signal_to_deliver() is followed. Signed-off-by: Yoichi Yuasa Signed-off-by: Andrew Morton --- 25-akpm/arch/mips/kernel/signal.c | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-) diff -puN arch/mips/kernel/signal.c~mips-fixed-do_signal-in-arch-mips-kernel-signalc arch/mips/kernel/signal.c --- 25/arch/mips/kernel/signal.c~mips-fixed-do_signal-in-arch-mips-kernel-signalc Tue Sep 14 18:15:54 2004 +++ 25-akpm/arch/mips/kernel/signal.c Tue Sep 14 18:15:54 2004 @@ -480,10 +480,8 @@ extern void setup_rt_frame_n32(struct k_ struct pt_regs *regs, int signr, sigset_t *set, siginfo_t *info); static inline void handle_signal(unsigned long sig, siginfo_t *info, - sigset_t *oldset, struct pt_regs *regs) + struct k_sigaction *ka, sigset_t *oldset, struct pt_regs *regs) { - struct k_sigaction *ka = ¤t->sighand->action[sig-1]; - switch(regs->regs[0]) { case ERESTART_RESTARTBLOCK: case ERESTARTNOHAND: @@ -535,6 +533,7 @@ extern int do_irix_signal(sigset_t *olds asmlinkage int do_signal(sigset_t *oldset, struct pt_regs *regs) { + struct k_sigaction ka; siginfo_t info; int signr; @@ -560,9 +559,9 @@ asmlinkage int do_signal(sigset_t *oldse if (!oldset) oldset = ¤t->blocked; - signr = get_signal_to_deliver(&info, regs, NULL); + signr = get_signal_to_deliver(&info, &ka, regs, NULL); if (signr > 0) { - handle_signal(signr, &info, oldset, regs); + handle_signal(signr, &info, &ka, oldset, regs); return 1; } _