From owner-cvs-all Fri May 3 9:54:24 2002 Delivered-To: cvs-all@freebsd.org Received: from mail.speakeasy.net (mail13.speakeasy.net [216.254.0.213]) by hub.freebsd.org (Postfix) with ESMTP id A9DC237B417 for ; Fri, 3 May 2002 09:54:12 -0700 (PDT) Received: (qmail 28179 invoked from network); 3 May 2002 16:54:10 -0000 Received: from unknown (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender ) by mail13.speakeasy.net (qmail-ldap-1.03) with DES-CBC3-SHA encrypted SMTP for ; 3 May 2002 16:54:10 -0000 Received: from laptop.baldwin.cx (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.11.6/8.11.6) with ESMTP id g43Gs2F12172; Fri, 3 May 2002 12:54:03 -0400 (EDT) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.5.2 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: Date: Fri, 03 May 2002 12:53:54 -0400 (EDT) From: John Baldwin To: Julian Elischer Subject: Re: cvs commit: src/sys/kern kern_fork.c Cc: cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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 <>< 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