[parisc-linux-cvs] linux-2.6 tausq
Randolph Chung
Randolph Chung <randolph@tausq.org>
Mon, 11 Aug 2003 22:06:25 -0700
> Modified files:
> . : Makefile
> arch/parisc/kernel: signal.c
>
> Log message:
> 2.6.0-test2-pa8
> handle ERESTART_RESTARTBLOCK in do_signal()
Index: Makefile
===================================================================
RCS file: /var/cvs/linux-2.6/Makefile,v
retrieving revision 1.13
diff -u -p -r1.13 Makefile
--- Makefile 9 Aug 2003 20:24:11 -0000 1.13
+++ Makefile 12 Aug 2003 04:51:46 -0000
@@ -1,7 +1,7 @@
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 0
-EXTRAVERSION = -test2-pa7
+EXTRAVERSION = -test2-pa8
# *DOCUMENTATION*
# To see a list of typical targets execute "make help"
Index: arch/parisc/kernel/signal.c
===================================================================
RCS file: /var/cvs/linux-2.6/arch/parisc/kernel/signal.c,v
retrieving revision 1.1
diff -u -p -r1.1 signal.c
--- arch/parisc/kernel/signal.c 29 Jul 2003 17:00:41 -0000 1.1
+++ arch/parisc/kernel/signal.c 12 Aug 2003 04:51:46 -0000
@@ -458,6 +458,8 @@ do_signal(sigset_t *oldset, struct pt_re
if (in_syscall) {
/* Check the return code */
switch (regs->gr[28]) {
+ case -ERESTART_RESTARTBLOCK:
+ current_thread_info()->restart_block.fn = do_no_restart_syscall;
case -ERESTARTNOHAND:
DBG(("ERESTARTNOHAND: returning -EINTR\n"));
regs->gr[28] = -EINTR;
@@ -495,7 +497,8 @@ do_signal(sigset_t *oldset, struct pt_re
/* Did we come from a system call? */
if (in_syscall) {
/* Restart the system call - no handlers present */
- if (regs->gr[28] == -ERESTARTNOHAND ||
+ if (regs->gr[28] == -ERESTART_RESTARTBLOCK ||
+ regs->gr[28] == -ERESTARTNOHAND ||
regs->gr[28] == -ERESTARTSYS ||
regs->gr[28] == -ERESTARTNOINTR) {
/* Hooray for delayed branching. We don't
--
Randolph Chung
Debian GNU/Linux Developer, hppa/ia64 ports
http://www.tausq.org/