Title: [8255] trunk/arch/blackfin/kernel/signal.c: blackfin: add support for restart_syscall()
Revision
8255
Author
vapier
Date
2010-01-28 20:33:54 -0500 (Thu, 28 Jan 2010)

Log Message

blackfin: add support for restart_syscall()

Modified Paths


Diff

Modified: trunk/arch/blackfin/kernel/signal.c (8254 => 8255)


--- trunk/arch/blackfin/kernel/signal.c	2010-01-29 01:32:28 UTC (rev 8254)
+++ trunk/arch/blackfin/kernel/signal.c	2010-01-29 01:33:54 UTC (rev 8255)
@@ -17,6 +17,7 @@
 #include <asm/cacheflush.h>
 #include <asm/ucontext.h>
 #include <asm/fixed_code.h>
+#include <asm/syscall.h>
 
 #define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
 
@@ -50,6 +51,9 @@
 	unsigned long usp = 0;
 	int err = 0;
 
+	/* Always make any pending restarted system calls return -EINTR */
+	current_thread_info()->restart_block.fn = do_no_restart_syscall;
+
 #define RESTORE(x) err |= __get_user(regs->x, &sc->sc_##x)
 
 	/* restore passed registers */
@@ -247,6 +251,11 @@
 		regs->r0 = regs->orig_r0;
 		regs->pc -= 2;
 		break;
+
+	case -ERESTART_RESTARTBLOCK:
+		regs->p0 = __NR_restart_syscall;
+		regs->pc -= 2;
+		break;
 	}
 }
 
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to