Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/usermode/usermode if emulating the syscall, toggle ...



details:   https://anonhg.NetBSD.org/src/rev/597a57fe6dec
branches:  trunk
changeset: 769209:597a57fe6dec
user:      jmcneill <jmcneill%NetBSD.org@localhost>
date:      Sat Sep 03 12:48:22 2011 +0000

description:
if emulating the syscall, toggle insyscall as the child won't get stopped a
second time

diffstat:

 sys/arch/usermode/usermode/urkelvisor.c |  6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diffs (27 lines):

diff -r ebf18229d29f -r 597a57fe6dec sys/arch/usermode/usermode/urkelvisor.c
--- a/sys/arch/usermode/usermode/urkelvisor.c   Sat Sep 03 12:33:02 2011 +0000
+++ b/sys/arch/usermode/usermode/urkelvisor.c   Sat Sep 03 12:48:22 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: urkelvisor.c,v 1.1 2011/09/03 12:28:46 jmcneill Exp $ */
+/* $NetBSD: urkelvisor.c,v 1.2 2011/09/03 12:48:22 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2011 Jared D. McNeill <jmcneill%invisible.ca@localhost>
@@ -32,7 +32,7 @@
 
 #include <sys/cdefs.h>
 #ifdef __NetBSD__
-__RCSID("$NetBSD: urkelvisor.c,v 1.1 2011/09/03 12:28:46 jmcneill Exp $");
+__RCSID("$NetBSD: urkelvisor.c,v 1.2 2011/09/03 12:48:22 jmcneill Exp $");
 #endif
 
 #include <sys/types.h>
@@ -129,6 +129,8 @@
                        insyscall = !insyscall;
                        if (insyscall) {
                                sig = handle_syscall(urkel_pid);
+                               if (sig)
+                                       insyscall = !insyscall;
                        }
                } else {
                        sig = WSTOPSIG(status);



Home | Main Index | Thread Index | Old Index