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