From owner-freebsd-current@FreeBSD.ORG Tue Jan 24 00:59:05 2006 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 90EB416A41F; Tue, 24 Jan 2006 00:59:05 +0000 (GMT) (envelope-from deischen@freebsd.org) Received: from mail.ntplx.net (mail.ntplx.net [204.213.176.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id 31C2443D46; Tue, 24 Jan 2006 00:59:04 +0000 (GMT) (envelope-from deischen@freebsd.org) Received: from sea.ntplx.net (sea.ntplx.net [204.213.176.11]) by mail.ntplx.net (8.13.5/8.13.5/NETPLEX) with ESMTP id k0O0x23x028638; Mon, 23 Jan 2006 19:59:02 -0500 (EST) Date: Mon, 23 Jan 2006 19:59:02 -0500 (EST) From: Daniel Eischen X-X-Sender: eischen@sea.ntplx.net To: Julian Elischer In-Reply-To: <43D56E79.60504@elischer.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Virus-Scanned: by AMaViS and Clam AntiVirus (mail.ntplx.net) Cc: freebsd-current@freebsd.org, Robert Watson Subject: Re: kernel thread as real threads.. X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Daniel Eischen List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jan 2006 00:59:05 -0000 On Mon, 23 Jan 2006, Julian Elischer wrote: > Robert Watson wrote: > > > well, the operation woudll continue for the parent only I woudl assume. > > > (although davidxu is changing that) > > I'm not convinced that that multiple threads should be allowed to > proceed during a fork > but I can see that not allowing it is more a "foot shooting avoidance" > than a requirement. > it could be allowed that if you do a fork and allow multipel threads to > runat the same time > and end up with an inconsistant address space in the child, then you get > what you deserve. > :-) POSIX specifies that only 1 thread (the forking thread) is present after a fork. If you want all (or some subset) of the parent's threads to exist after a fork(), you must call it something else (use a flag to rfork?) and ensure it is not the default behavior. -- DE