Peter Lamberg filed bug report #2015126: "poll gives WSAEINVAL when POLLPRI
authorYang Tse <yangsita@gmail.com>
Thu, 10 Jul 2008 18:01:44 +0000 (18:01 +0000)
committerYang Tse <yangsita@gmail.com>
Thu, 10 Jul 2008 18:01:44 +0000 (18:01 +0000)
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!

CHANGES
RELEASE-NOTES
lib/select.h

diff --git a/CHANGES b/CHANGES
index f205cdd..258c4b2 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -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 -
 
index f375a88..0983411 100644 (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)
index 21ae02d..cdc7782 100644 (file)
 
 #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
 
 /*