http://bugs.winehq.org/show_bug.cgi?id=10176
--- Comment #37 from Ken Richardson ktrichardson@eastlink.ca 2010-10-17 08:22:55 CDT --- (In reply to comment #36)
(In reply to comment #34)
I have spent significant time troubleshooting this issue and found the cause and solution.
Hi Ken, thanks for the clear analysis. I'm marking this as winsock bug then
Thanks.
Looking at the wine/dlls/ws2_32/socket.c code it appears the error is here:
3495 if (readfds) count += readfds->fd_count; 3496 if (writefds) count += writefds->fd_count; 3497 if (exceptfds) count += exceptfds->fd_count; 3498 *count_ptr = count; 3499 if (!count) return NULL;
Instead of returning NULL it should be returning WSAEINVAL.