]> granicus.if.org Git - php/commitdiff
FD_ZERO file descriptors before calling curl_multi_fdset
authorPierrick Charron <pierrick@php.net>
Fri, 28 Sep 2012 19:19:03 +0000 (15:19 -0400)
committerPierrick Charron <pierrick@php.net>
Fri, 28 Sep 2012 19:21:03 +0000 (15:21 -0400)
As per curl documentation http://curl.haxx.se/libcurl/c/curl_multi_fdset.html
we need to FD_ZERO file descriptors before calling the curl_multi_fdset function

ext/curl/streams.c

index 4f97ee0572a9d4c474f9e3b29a37dba4fb1c54ea..e317285c31179b796fd1306a587e48dd5afaf83a 100644 (file)
@@ -162,6 +162,10 @@ static size_t php_curl_stream_read(php_stream *stream, char *buf, size_t count T
                }
                
                do {
+                       FD_ZERO(&curlstream->readfds);
+                       FD_ZERO(&curlstream->writefds);
+                       FD_ZERO(&curlstream->excfds);
+
                        /* get the descriptors from curl */
                        curl_multi_fdset(curlstream->multi, &curlstream->readfds, &curlstream->writefds, &curlstream->excfds, &curlstream->maxfd);