Re: [PATCH v2] git daemon: avoid waking up too often
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jul 23, 2008, 19:39 UTC
- Message-ID
- <alpine.DEB.1.00.0807232038310.8986@racer>
- In-Reply-To
- <32541b130807231226m73fcc874ub72f69adeb5d26c3@mail.gmail.com>
Hi,
On Wed, 23 Jul 2008, Avery Pennarun wrote:
Show 11 quoted lines
> On 7/23/08, Johannes Sixt <j.sixt@viscovery.net> wrote: > > This makes porting this beast to Windows practically impossible > > because we cannot have a poll() implementation that waits both on a > > listening socket and a pipe. :-( > > I have worked around such problems in the past by having a thread whose > job it is to read from the pipe and simply write it to a socket. The > trick works for "console" objects, too, which in win32 are even less > agreeable than pipes. > > (In case your life wasn't disgusting enough already today :))
Thanks. I thought the code I looked at today was ugly, but you convinced me that there is no limit.
> Alternatively, you could use something like socketpair() instead of a > pipe for this purpose. Naturally, Win32 helps you out here by somehow > forgetting to include socketpair() in winsock, although it's sort of > easy to emulate.
Or alternatively, you could read my response to Hannes where I explain that the pipe() is not even needed with threaded start_async() (as opposed to fork()ed one).
Ciao, Dscho