http://bugs.winehq.org/show_bug.cgi?id=9425
--- Comment #29 from Damjan Jovanovic damjan.jov@gmail.com 2012-02-08 22:37:05 CST --- (In reply to comment #28)
(In reply to comment #26)
(In reply to comment #25)
Does anybody still remember why exactly we've applied 0082973d "Convert WS_select to use poll() instead of select()".
For one thing, select is limited in the number of files it can select on, to FD_SETSIZE.
Don't we have that on Windows even limited to 64 per default? Or is this a problem in wine because fds are all living together in wineserver?
On Windows, select() takes an array of 64 file descriptors, which can have any values. On Linux, select() takes a bitset of 1024 bits. Even if you want to select() on just one file descriptor with value 2000, you can pass it to Windows as an array element, but on Linux, you can't even set that bit.
It was in bug 3063 that select() was rewritten on top of poll(), fixing a file descriptor leak in eMule.