From: Johannes Sixt Date: Sun, 18 Nov 2007 12:23:35 GMT Subject: Re: [PATCH] fetch-pack: Prepare for a side-band demultiplexer in a thread. Message-ID: <200711181323.35219.johannes.sixt@telecom.at> In-Reply-To: <7v3av3yi1x.fsf@gitster.siamese.dyndns.org> On Sunday 18 November 2007 11:16, Junio C Hamano wrote: > Johannes Sixt writes: > >> If the rationale was "running in a thread is more natural on the > >> platform", I would understand it. > > > > Please take it as such. > > > >> But "_must_ run because there is no fork(2)" solicits a "Huh? > >> How does Cygwin does it then?" from me. > > > > Alex has answered this. We are not going to copy Cygwin's fork() into > > git. > > Wholeheartedly agree, and I feel dirty after looking at that > thing. Nothing against Cygwin folks, of course. > > The reason I wanted to close pipes as early as possible was > because I did not want to get bitten by "read() waiting forever > for EOF due to an extra unclosed fd on the writer end of the > pipe() without the writer not writing anything to it" problem, > which is an often-seen mistake. That was my concern, too, and I spent quite a few brain cycles to verify that this is not the case here. -- Hannes