Re: [PATCH v2] compat: Add another rudimentary poll() emulation
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- May 30, 2010, 20:40 UTC
- Message-ID
- <20100530204044.GB32728@progeny.tock>
- In-Reply-To
- <201005302119.30340.j6t@kdbg.org>
Johannes Sixt wrote:
Show 7 quoted lines
> It cannot work on msysgit because > > - on Windows, select() works only for sockets, but we poll() on pipes, too; > > - in our emulation layer, fds that are sockets must be unpacked with > _get_osfhandle() before they can be passed to FD_SET() because (as Paolo has > pointed out) FD_SET() must be populated with handles, not fds.
Thanks for the explanation. Alas.
>From <http://www.suacommunity.com/man/2/select.2.html> I get the
impression that FD_SETSIZE on Interix might not be so small after all (good). Apparently older versions of Interix (5.3?) do not obey timeouts properly, so the poll() in compat/poll.c should probably use usleep() instead (meh).
Anyway, I leave it to developers on that platform to take it from here if they so wish.
Ciao, Jonathan