Source-Changes-HG archive

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

[src/trunk]: src/sys/compat/irix lwpified sproc emulation so that it builds a...



details:   https://anonhg.NetBSD.org/src/rev/9563f47fbe9f
branches:  trunk
changeset: 542437:9563f47fbe9f
user:      manu <manu%NetBSD.org@localhost>
date:      Tue Jan 28 23:47:42 2003 +0000

description:
lwpified sproc emulation so that it builds and works again. COMPAT_IRIX
now has the level of functionnality it had before SA merge

diffstat:

 sys/compat/irix/irix_prctl.c |  15 +++++++--------
 1 files changed, 7 insertions(+), 8 deletions(-)

diffs (64 lines):

diff -r b363d10c2366 -r 9563f47fbe9f sys/compat/irix/irix_prctl.c
--- a/sys/compat/irix/irix_prctl.c      Tue Jan 28 22:52:11 2003 +0000
+++ b/sys/compat/irix/irix_prctl.c      Tue Jan 28 23:47:42 2003 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: irix_prctl.c,v 1.20 2003/01/22 21:04:50 rafal Exp $ */
+/*     $NetBSD: irix_prctl.c,v 1.21 2003/01/28 23:47:42 manu Exp $ */
 
 /*-
  * Copyright (c) 2001-2002 The NetBSD Foundation, Inc.
@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: irix_prctl.c,v 1.20 2003/01/22 21:04:50 rafal Exp $");
+__KERNEL_RCSID(0, "$NetBSD: irix_prctl.c,v 1.21 2003/01/28 23:47:42 manu Exp $");
 
 #include <sys/errno.h>
 #include <sys/types.h>
@@ -68,7 +68,7 @@
 #include <compat/irix/irix_syscallargs.h>
 
 struct irix_sproc_child_args {
-       struct lwp **isc_lwp; 
+       struct proc **isc_proc; 
        void *isc_entry;
        void *isc_arg;
        size_t isc_len;
@@ -281,7 +281,6 @@
        struct exec_vmcmd vmc;
        int error;
        struct proc *p2;
-       struct lwp *l2;
        struct irix_sproc_child_args *isc;      
        struct irix_emuldata *ied;
        struct irix_emuldata *iedp;
@@ -380,7 +379,7 @@
         * This will be freed by the child.
         */
        isc = malloc(sizeof(*isc), M_TEMP, M_WAITOK);
-       isc->isc_lwp = &l2;
+       isc->isc_proc = &p2;
        isc->isc_entry = entry;
        isc->isc_arg = arg;
        isc->isc_len = len;
@@ -416,8 +415,8 @@
 irix_sproc_child(isc)
        struct irix_sproc_child_args *isc;
 {
-       struct lwp *l2 = *isc->isc_lwp;
-       struct proc *p2 = l2->l_proc;
+       struct proc *p2 = *isc->isc_proc;
+       struct lwp *l2 = proc_representative_lwp(p2);
        int inh = isc->isc_inh;
        struct lwp *lparent = isc->isc_parent_lwp;
        struct proc *parent = lparent->l_proc;
@@ -551,7 +550,7 @@
        /*
         * Return to userland for a newly created process
         */
-       child_return((void *)p2);
+       child_return((void *)l2);
        return;
 }
 



Home | Main Index | Thread Index | Old Index