Date: 11 Mar 2001 19:55:54 +0100 From: Dag-Erling Smorgrav <des@ofug.org> To: cvs-committers@FreeBSD.org Cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/i386/linux linux_machdep.c Message-ID: <xzpvgpgi18l.fsf@flood.ping.uio.no> In-Reply-To: Dag-Erling Smorgrav's message of "Sun, 11 Mar 2001 10:52:11 -0800 (PST)" References: <200103111852.f2BIqBw46583@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--=-=-= Dag-Erling Smorgrav <des@FreeBSD.org> writes: > Log: > rfork() masks RFSTOPPED out of the flags it passes to fork1(), so we have > to call fork1() directly if we don't want out process queued right away. > This has the serendipitous side effect of saving us a call to pfind(). Attached is an equivalent patch for the Alpha; I'll leave it to someone who actually has one to commit it. DES -- Dag-Erling Smorgrav - des@ofug.org --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=linux-alpha.diff Index: linux_machdep.c =================================================================== RCS file: /home/ncvs/src/sys/alpha/linux/linux_machdep.c,v retrieving revision 1.11 diff -u -r1.11 linux_machdep.c --- linux_machdep.c 2001/03/06 02:55:23 1.11 +++ linux_machdep.c 2001/03/11 18:42:19 @@ -122,7 +122,6 @@ struct proc *p2; int exit_signal; vm_offset_t start; - struct rfork_args rf_args; #ifdef DEBUG if (ldebug(clone)) { @@ -156,14 +155,9 @@ error = 0; start = 0; - rf_args.flags = ff; - if ((error = rfork(p, &rf_args)) != 0) + if ((error = fork1(p, ff, &p2)) != 0) return (error); - p2 = pfind(p->p_retval[0]); - if (p2 == NULL) - return (ESRCH); - PROC_LOCK(p); p2->p_sigparent = exit_signal; PROC_UNLOCK(p); @@ -183,6 +177,8 @@ setrunqueue(p2); mtx_unlock_spin(&sched_lock); + p->p_retval[0] = p2->p_pid; + p->p_retval[1] = 0; return (0); } --=-=-=-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?xzpvgpgi18l.fsf>