]> granicus.if.org Git - curl/commitdiff
Cory Nelson made libcurl use the WSAPoll() function if built for Windows
authorDaniel Stenberg <daniel@haxx.se>
Sun, 24 Sep 2006 10:41:00 +0000 (10:41 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Sun, 24 Sep 2006 10:41:00 +0000 (10:41 +0000)
Vista (_WIN32_WINNT >= 0x0600)

CHANGES
RELEASE-NOTES
lib/select.c
lib/select.h

diff --git a/CHANGES b/CHANGES
index 7c60922f4d1118554436d2f47778a9ff77cb4176..b68e8fa5170a64057751b6fedb401c0f8c58980c 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,10 @@
 
                                   Changelog
 
+Daniel (24 September 2006)
+- Cory Nelson made libcurl use the WSAPoll() function if built for Windows
+  Vista (_WIN32_WINNT >= 0x0600)
+
 Daniel (23 September 2006)
 - Mike Protts added --ftp-ssl-control to make curl use FTP-SSL, but only
   encrypt the control connection and use the data connection "plain".
index 76d346e5c5e676f88c4a156c9d18e51c67e1404f..70a33b5bf3fb408a5a7227224e251eadfb4bba2c 100644 (file)
@@ -11,6 +11,7 @@ Curl and libcurl 7.16.0
 
 This release includes the following changes:
 
+ o uses WSAPoll() on Windows Vista
  o (FTP) --ftp-ssl-control was added
  o CURLOPT_SSL_SESSIONID_CACHE and --no-sessionid added
  o CURLMOPT_PIPELINING added for enabling pipelined transfers
@@ -54,6 +55,6 @@ advice from friends like these:
  Domenico Andreoli, Armel Asselin, Gisle Vanem, Yang Tse, Andrew Biggs,
  Peter Sylvester, David McCreedy, Dmitriy Sergeyev, Dmitry Rechkin,
  Jari Sundell, Ravi Pratap, Michele Bini, Jeff Pohlmeyer, Michael Wallner,
- Mike Protts
+ Mike Protts, Cory Nelson
 
         Thanks! (and sorry if I forgot to mention someone)
index 42a9a5c3587a92cf081e2d003a540b6c5d7427e8..4a7fee4921bc3edec5de0724886203d86d8e185e 100644 (file)
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2005, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2006, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -74,7 +74,7 @@
  */
 int Curl_select(curl_socket_t readfd, curl_socket_t writefd, int timeout_ms)
 {
-#ifdef HAVE_POLL_FINE
+#if defined(HAVE_POLL_FINE) || defined(CURL_HAVE_WSAPOLL)
   struct pollfd pfd[2];
   int num;
   int r;
@@ -92,9 +92,13 @@ int Curl_select(curl_socket_t readfd, curl_socket_t writefd, int timeout_ms)
     num++;
   }
 
+#ifdef HAVE_POLL_FINE
   do {
     r = poll(pfd, num, timeout_ms);
   } while((r == -1) && (errno == EINTR));
+#else
+  r = WSAPoll(pfd, num, timeout_ms);
+#endif
 
   if (r < 0)
     return -1;
@@ -194,6 +198,8 @@ int Curl_poll(struct pollfd ufds[], unsigned int nfds, int timeout_ms)
   do {
     r = poll(ufds, nfds, timeout_ms);
   } while((r == -1) && (errno == EINTR));
+#elif defined(CURL_HAVE_WSAPOLL)
+  r = WSAPoll(ufds, nfds, timeout_ms);
 #else
   struct timeval timeout;
   struct timeval *ptimeout;
index f448b846003f82d9a2c1189d885deaeffb5406e9..e0844b1d6be49f931eca8f9f6802527ea758f918 100644 (file)
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2004, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2006, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
 
 #ifdef HAVE_SYS_POLL_H
 #include <sys/poll.h>
+#elif defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0600)
+/* for Vista, use WSAPoll(). */
+#include <winsock2.h>
+#define CURL_HAVE_WSAPOLL
 #else
 
 #define POLLIN      0x01