From: Johannes Schindelin Date: Wed, 23 Jul 2008 19:39:56 GMT Subject: Re: [PATCH v2] git daemon: avoid waking up too often Message-ID: In-Reply-To: <32541b130807231226m73fcc874ub72f69adeb5d26c3@mail.gmail.com> Hi, On Wed, 23 Jul 2008, Avery Pennarun wrote: > On 7/23/08, Johannes Sixt 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