git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] fetch-pack: Prepare for a side-band demultiplexer in a thread.

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 18, 2007, 10:16 UTC
Message-ID
<7v3av3yi1x.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<200711181036.14565.johannes.sixt@telecom.at>
Johannes Sixt <johannes.sixt@telecom.at> writes:
Show 9 quoted lines
>> 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.

As long as you did not introduce that problem the change is fine by me.

Previous: Johannes SixtNext: Johannes Sixt
Message 5 of 7 in “fetch-pack: Prepare for a side-band demultiplexer in a thread.”
  1. fetch-pack: Prepare for a side-band demultiplexer in a thread.Johannes Sixt, Nov 17, 2007
  2. Junio C HamanoNov 18, 2007
  3. Alex RiesenNov 18, 2007
  4. Johannes SixtNov 18, 2007
  5. Junio C HamanoNov 18, 2007
  6. Johannes SixtNov 18, 2007
  7. Robin RosenbergNov 18, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.