mfd: rk808: add sysfs debug node "/sys/rk8xx/rk8xx_dbg"
[firefly-linux-kernel-4.4.55.git] / kernel / signal.c
index c0b01fe24bbd3fae555b2e479e86f9199f3a7c3b..0508544c8ced0d96913905dc53af68f38b6ee618 100644 (file)
@@ -3503,13 +3503,15 @@ SYSCALL_DEFINE0(pause)
 
 #endif
 
-int sigsuspend(sigset_t *set)
+static int sigsuspend(sigset_t *set)
 {
        current->saved_sigmask = current->blocked;
        set_current_blocked(set);
 
-       __set_current_state(TASK_INTERRUPTIBLE);
-       schedule();
+       while (!signal_pending(current)) {
+               __set_current_state(TASK_INTERRUPTIBLE);
+               schedule();
+       }
        set_restore_sigmask();
        return -ERESTARTNOHAND;
 }