From owner-freebsd-chat Mon Dec 31 0:14:55 2001 Delivered-To: freebsd-chat@freebsd.org Received: from lariat.org (lariat.org [12.23.109.2]) by hub.freebsd.org (Postfix) with ESMTP id C386F37B422 for ; Mon, 31 Dec 2001 00:14:53 -0800 (PST) Received: from mustang.lariat.org (IDENT:ppp0.lariat.org@lariat.org [12.23.109.2]) by lariat.org (8.9.3/8.9.3) with ESMTP id BAA15290; Mon, 31 Dec 2001 01:14:34 -0700 (MST) Message-Id: <4.3.2.7.2.20011231010840.01d814d0@localhost> X-Sender: brett@localhost X-Mailer: QUALCOMM Windows Eudora Version 4.3.2 Date: Mon, 31 Dec 2001 01:14:33 -0700 To: Ryan Thompson From: Brett Glass Subject: Re: Lions and tigers and... chickens? Cc: "Matthew D. Fuller" , In-Reply-To: <20011229230235.Q46948-100000@catalyst.sasknow.net> References: <4.3.2.7.2.20011229182741.02ff21a0@localhost> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: owner-freebsd-chat@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org At 10:41 PM 12/29/2001, Ryan Thompson wrote: >It is not necessary to exec() the chicken following a fork(). Actually, either an execve(2) or prompt termination of the child process is expected. From the vfork(2) man page: >Vfork() can be used to create new processes without fully copying the ad- >dress space of the old process, which is horrendously inefficient in a >paged environment. It is useful when the purpose of fork(2) would have >been to create a new system context for an execve(2). Vfork() differs >from fork(2) in that the child borrows the parent's memory and thread of >control until a call to execve(2) or an exit (either by a call to exit(3) >or abnormally). The parent process is suspended while the child is using >its resources. All of which, by the way, can be done either with or without Colonel threads. ;-) --Brett To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-chat" in the body of the message