
From: Paul Mundt <paul.mundt@nokia.com>

A while back get_signal_to_deliver() changed to take a struct k_sigaction *. 
This updates do_signal() and handle_signal() to follow the generic API change.

Signed-off-by: Paul Mundt <paul.mundt@nokia.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/arch/sh/kernel/signal.c |   13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)

diff -puN arch/sh/kernel/signal.c~sh-do_signal-update-for-generic-changes arch/sh/kernel/signal.c
--- 25/arch/sh/kernel/signal.c~sh-do_signal-update-for-generic-changes	2004-10-26 00:58:17.602744096 -0700
+++ 25-akpm/arch/sh/kernel/signal.c	2004-10-26 00:58:17.606743488 -0700
@@ -493,14 +493,12 @@ give_sigsegv:
 
 /*
  * OK, we're invoking a handler
- */	
+ */
 
 static void
-handle_signal(unsigned long sig, siginfo_t *info, sigset_t *oldset,
-	struct pt_regs * regs)
+handle_signal(unsigned long sig, struct k_sigaction *ka, siginfo_t *info,
+	      sigset_t *oldset, struct pt_regs *regs)
 {
-	struct k_sigaction *ka = &current->sighand->action[sig-1];
-
 	/* Are we from a system call? */
 	if (regs->tra >= 0) {
 		/* If so, check system call restarting.. */
@@ -570,6 +568,7 @@ int do_signal(struct pt_regs *regs, sigs
 {
 	siginfo_t info;
 	int signr;
+	struct k_sigaction ka;
 
 	/*
 	 * We want the common case to go fast, which
@@ -588,10 +587,10 @@ int do_signal(struct pt_regs *regs, sigs
 	if (!oldset)
 		oldset = &current->blocked;
 
-	signr = get_signal_to_deliver(&info, regs, NULL);
+	signr = get_signal_to_deliver(&info, &ka, regs, NULL);
 	if (signr > 0) {
 		/* Whee!  Actually deliver the signal.  */
-		handle_signal(signr, &info, oldset, regs);
+		handle_signal(signr, &ka, &info, oldset, regs);
 		return 1;
 	}
 
_
