Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 03 May 2002 12:53:54 -0400 (EDT)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Julian Elischer <julian@elischer.org>
Cc:        cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org
Subject:   Re: cvs commit: src/sys/kern kern_fork.c
Message-ID:  <XFMail.20020503125354.jhb@FreeBSD.org>
In-Reply-To: <Pine.BSF.4.21.0205030907170.82741-100000@InterJet.elischer.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On 03-May-2002 Julian Elischer wrote:
> 
> 
> On Fri, 3 May 2002, John Baldwin wrote:
> 
>> 
>> Hmm, one thing I'm assuming in some places is that exec() will _require_ a
>> non-KSE process.  I.e., if you want to do an exec() from a KSE process,
>> first
>> fork() a new process w/o threads and then let it do the exec().  At least,
>> this is what we sort of agreed to back when you, Peter, and I met and talked
>> about the scheduler several months ago.
>> 
> 
> The threaded library is in fact the important one..
> If I have a threaded bind library or X11-library,
> and I want to fork. Do I need to know if the bind or X11 is
> threaded? I shouldn't have to.. I should just be able to fork..
> 
> I am not coding for this now but I'd LIKE to be able to code this option
> in the future and so I am considering the ramifications now..

vfork() at least should use a flag that only fork's the current thread and
not all of the threads.   I think only fork'ing one thread is quite doable.
We could also export the flag for fork() that allows just forking one thread
to userland.  For exec() I suppose to avoid POLA we will just have to
terminate all the threads early on in the function in the kernel itself.

As long as we do that I think we will still be ok.

-- 

John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

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?XFMail.20020503125354.jhb>