Johannes Sixt wrote:
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