x86: signal_32.c: introduce signr_convert()
authorHiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Thu, 25 Sep 2008 02:10:29 +0000 (19:10 -0700)
committerIngo Molnar <mingo@elte.hu>
Thu, 25 Sep 2008 08:11:38 +0000 (10:11 +0200)
Introduce signr_convert().
This function will help unification of setup_rt_frame().

Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/signal_32.c

index bb05917..b1bc90f 100644 (file)
@@ -482,18 +482,21 @@ static int __setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info,
 /*
  * OK, we're invoking a handler:
  */
+static int signr_convert(int sig)
+{
+       struct thread_info *info = current_thread_info();
+
+       if (info->exec_domain && info->exec_domain->signal_invmap && sig < 32)
+               return info->exec_domain->signal_invmap[sig];
+       return sig;
+}
+
 static int
 setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info,
               sigset_t *set, struct pt_regs *regs)
 {
+       int usig = signr_convert(sig);
        int ret;
-       int usig;
-
-       usig = current_thread_info()->exec_domain
-               && current_thread_info()->exec_domain->signal_invmap
-               && sig < 32
-               ? current_thread_info()->exec_domain->signal_invmap[sig]
-               : sig;
 
        /* Set up the stack frame */
        if (ka->sa.sa_flags & SA_SIGINFO)