]> granicus.if.org Git - curl/commitdiff
curl_multi_wait: set revents for extra fds
authorEvgeny Turnaev <turnaev.e@gmail.com>
Wed, 17 Jul 2013 22:06:09 +0000 (00:06 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 17 Jul 2013 22:06:09 +0000 (00:06 +0200)
Pass back the revents that happened for the user-provided file
descriptors.

lib/multi.c

index 09a5b2d8b3c57b07253b2e2496b08276a8616ce3..dee2356ca67a44fda45cd98885cf0b93716691ba 100644 (file)
@@ -808,7 +808,7 @@ CURLMcode curl_multi_wait(CURLM *multi_handle,
   struct Curl_one_easy *easy;
   curl_socket_t sockbunch[MAX_SOCKSPEREASYHANDLE];
   int bitmap;
-  unsigned int i;
+  unsigned int i, j;
   unsigned int nfds = 0;
   unsigned int curlfds;
   struct pollfd *ufds = NULL;
@@ -910,6 +910,9 @@ CURLMcode curl_multi_wait(CURLM *multi_handle,
   else
     i = 0;
 
+  for(j = nfds - extra_nfds; j < nfds; j++)
+    extra_fds[j].revents = ufds[j].revents;
+
   Curl_safefree(ufds);
   if(ret)
     *ret = i;