Peter Lamberg filed bug report #2015126: "poll gives WSAEINVAL when POLLPRI

is set in fdset.events" (http://curl.haxx.se/bug/view.cgi?id=2015126) which
exactly pinpointed the problem only triggered on Windows Vista, provided
reference to docs and also a fix. There is much work behind Peter Lamberg's
excellent bug report. Thank You!
This commit is contained in:
Yang Tse 2008-07-10 18:01:44 +00:00
parent a17fadea3a
commit 08ac9866e0
3 changed files with 20 additions and 9 deletions

View File

@ -6,6 +6,13 @@
Changelog
Yang Tse (10 Jul 2008)
- Peter Lamberg filed bug report #2015126: "poll gives WSAEINVAL when POLLPRI
is set in fdset.events" (http://curl.haxx.se/bug/view.cgi?id=2015126) which
exactly pinpointed the problem only triggered on Windows Vista, provided
reference to docs and also a fix. There is much work behind Peter Lamberg's
excellent bug report. Thank You!
Daniel Fandrich (9 Jul 2008)
- Added tests 1036 and 1037 to verify resumed ftp downloads with -C -

View File

@ -32,6 +32,7 @@ This release includes the following bugfixes:
o unexpected 1xx responses hung transfers
o FTP transfers segfault when using different CURLOPT_FTP_FILEMETHOD
o c-ares powered libcurls can resolve/use IPv6 addresses
o poll not working on Windows Vista due to POLLPRI being incorrectly used
This release includes the following known bugs:
@ -51,7 +52,8 @@ advice from friends like these:
Lenny Rachitsky, Axel Tillequin, Arnaud Ebalard, Yang Tse, Dan Fandrich,
Rob Crittenden, Dengminwen, Christopher Palow, Hans-Jurgen May,
Phil Pellouchoud, Eduard Bloch, John Lightsey, Stephen Collyer, Tor Arntsen,
Rolland Dudemaine, Phil Blundell, Scott Barrett, Andreas Schuldei
Rolland Dudemaine, Phil Blundell, Scott Barrett, Andreas Schuldei,
Peter Lamberg
Thanks! (and sorry if I forgot to mention someone)

View File

@ -37,14 +37,16 @@
#if defined(USE_WINSOCK) && (USE_WINSOCK > 1) && \
defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0600)
#undef HAVE_POLL
#define HAVE_POLL 1
#undef HAVE_POLL_FINE
#define HAVE_POLL_FINE 1
#define poll(x,y,z) WSAPoll((x),(y),(z))
#if defined(_MSC_VER) && defined(POLLRDNORM)
#define HAVE_STRUCT_POLLFD 1
#endif
# undef HAVE_POLL
# define HAVE_POLL 1
# undef HAVE_POLL_FINE
# define HAVE_POLL_FINE 1
# define poll(x,y,z) WSAPoll((x),(y),(z))
# if defined(_MSC_VER) && defined(POLLRDNORM)
# undef POLLPRI
# define POLLPRI POLLRDBAND
# define HAVE_STRUCT_POLLFD 1
# endif
#endif
/*