xen: update ring.h
[linux-2.6-microblaze.git] / kernel / signal.c
index 368a34c..30cd1ca 100644 (file)
@@ -1307,43 +1307,6 @@ enum sig_handler {
        HANDLER_EXIT,    /* Only visible as the process exit code */
 };
 
-/*
- * On some archictectures, PREEMPT_RT has to delay sending a signal from a
- * trap since it cannot enable preemption, and the signal code's
- * spin_locks turn into mutexes. Instead, it must set TIF_NOTIFY_RESUME
- * which will send the signal on exit of the trap.
- */
-#ifdef CONFIG_RT_DELAYED_SIGNALS
-static inline bool force_sig_delayed(struct kernel_siginfo *info,
-                                    struct task_struct *t)
-{
-       if (!in_atomic())
-               return false;
-
-       if (WARN_ON_ONCE(t->forced_info.si_signo))
-               return true;
-
-       if (is_si_special(info)) {
-               WARN_ON_ONCE(info != SEND_SIG_PRIV);
-               t->forced_info.si_signo = info->si_signo;
-               t->forced_info.si_errno = 0;
-               t->forced_info.si_code = SI_KERNEL;
-               t->forced_info.si_pid = 0;
-               t->forced_info.si_uid = 0;
-       } else {
-               t->forced_info = *info;
-       }
-       set_tsk_thread_flag(t, TIF_NOTIFY_RESUME);
-       return true;
-}
-#else
-static inline bool force_sig_delayed(struct kernel_siginfo *info,
-                                    struct task_struct *t)
-{
-       return false;
-}
-#endif
-
 /*
  * Force a signal that the process can't ignore: if necessary
  * we unblock the signal and change any SIG_IGN to SIG_DFL.
@@ -1364,9 +1327,6 @@ force_sig_info_to_task(struct kernel_siginfo *info, struct task_struct *t,
        struct k_sigaction *action;
        int sig = info->si_signo;
 
-       if (force_sig_delayed(info, t))
-               return 0;
-
        spin_lock_irqsave(&t->sighand->siglock, flags);
        action = &t->sighand->action[sig-1];
        ignored = action->sa.sa_handler == SIG_IGN;