From owner-freebsd-current Tue Dec 18 16:53:24 2001 Delivered-To: freebsd-current@freebsd.org Received: from elvis.mu.org (elvis.mu.org [216.33.66.196]) by hub.freebsd.org (Postfix) with ESMTP id 41E8137B41C; Tue, 18 Dec 2001 16:53:18 -0800 (PST) Received: by elvis.mu.org (Postfix, from userid 1192) id 83AFA81E0E; Tue, 18 Dec 2001 18:53:17 -0600 (CST) Date: Tue, 18 Dec 2001 18:53:17 -0600 From: Alfred Perlstein To: John Baldwin Cc: current@freebsd.org, Julian Elischer Subject: Re: Is this a bug in the fork() code? Message-ID: <20011218185317.O59831@elvis.mu.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: ; from jhb@FreeBSD.org on Tue, Dec 18, 2001 at 04:40:43PM -0800 Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG * John Baldwin [011218 18:41] wrote: > > Actually, it's a bit worse than that. The parent process will sleep on itself > waiting to be woken up, but when the child exits, it will wake up init > (p->p_pptr) not the waiting process, so if you do a rfork(..., RFNOWAIT | > RFPPWAIT); then the parent process will hang and never return. > > Perhaps fork1() should return EINVAL if both flags are set. > Good idea. -- -Alfred Perlstein [alfred@freebsd.org] 'Instead of asking why a piece of software is using "1970s technology," start asking why software is ignoring 30 years of accumulated wisdom.' http://www.morons.org/rants/gpl-harmful.php3 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message