When building/running CURL with MSVC/winsock, we're seeing curl_multi_fdset return -1 for maxfd (which means there are no valid file descriptors), and this leads to an error when select() is called. That causes the download to bail out, meaning we can't even load pages. If we do not call select() in this case, all downloads start and complete successfully. Having this fixed is pretty critical for the wx port on Windows. Attached is a fix for the problem.
Created attachment 18919 [details] On Win, don't call select unless we have a valid file descriptor
Comment on attachment 18919 [details] On Win, don't call select unless we have a valid file descriptor That doesn't look right as it makes it possible for rc to be tested before being initialized. Why does it make sense to call select on non-Windows platforms when there are no file descriptors?
Created attachment 18978 [details] Don't call select when there are no valid file descriptors on any platform Good point, I did some more testing and not calling select() seems to work fine on Unix platforms too, so I've taken out the #if PLATFORM(WIN_OS) and I've also initialized rc to 0 so that it won't be used uninitialized.
Comment on attachment 18978 [details] Don't call select when there are no valid file descriptors on any platform Looks fine to me.
Landed in r30121. Thanks!