Re: cvs: php-src(PHP_5_3) /ext/curl streams.c
| From: | Ilia Alshanetsky | Date: | Mon, 23 Feb 2009 16:10:46 +0000 |
| Subject: | Re: cvs: php-src(PHP_5_3) /ext/curl streams.c | ||
| References: | 1 2 | Groups: | php.cvs |
| Request: | Send a blank email to php-cvs+get-56361@lists.php.net to get a copy of this message | ||
I am going to back-port this to 5.2 once 5.2.8 is out, so no point in adding it to the 5.3 news file, just to remove it a week later.
On 23-Feb-09, at 11:03 AM, Pierre Joye wrote:
hi Ilia, NEWS? :) thanks for your work! On Mon, Feb 23, 2009 at 4:58 PM, Ilia Alshanetsky <iliaa@php.net> wrote:Ilia Alshanetskyexcfds, &tv)) {iliaa Mon Feb 23 15:58:19 2009 UTCModified files: (Branch: PHP_5_3)/php-src/ext/curl streams.c Log: Fixed bug #47477 (php_curl_stream_read() unnecessarily sleeps 15 secs under heavy load) # Patch by giuseppe bonacci http://cvs.php.net/viewvc.cgi/php-src/ext/curl/streams.c?r1=1.14.2.2.2.11.2.3&r2=1.14.2.2.2.11.2.4&diff_format=u Index: php-src/ext/curl/streams.c diff -u php-src/ext/curl/streams.c:1.14.2.2.2.11.2.3 php-src/ext/curl/streams.c:1.14.2.2.2.11.2.4--- php-src/ext/curl/streams.c:1.14.2.2.2.11.2.3 Wed Dec 31 11:15:35 2008+++ php-src/ext/curl/streams.c Mon Feb 23 15:58:19 2009 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: streams.c,v 1.14.2.2.2.11.2.3 2008/12/31 11:15:35 sebastian Exp $ */ +/* $Id: streams.c,v 1.14.2.2.2.11.2.4 2009/02/23 15:58:19 iliaa Exp $ */ /* This file implements cURL based wrappers. * NOTE: If you are implementing your own streams that are intended to @@ -169,7 +169,8 @@tv.tv_sec = 15; /* TODO: allow this to be configured from the script *//* wait for data */ - switch (select(curlstream->maxfd + 1, &curlstream->readfds, &curlstream->writefds, &curlstream->excfds, &tv)) { + switch ((curlstream->maxfd < 0) ? 1 : + select(curlstream->maxfd + 1, &curlstream->readfds, &curlstream->writefds, &curlstream-case -1: /* error */ return 0; @@ -182,7 +183,8 @@--Pierre http://blog.thepimp.net | http://www.libgd.orgcurlstream->mcode = curl_multi_perform(curlstream->multi, &curlstream->pending); } while (curlstream->mcode == CURLM_CALL_MULTI_PERFORM); } - } while (curlstream->readbuffer.readpos >= curlstream->readbuffer.writepos && curlstream->pending > 0); + } while (curlstream->maxfd >= 0 && + curlstream->readbuffer.readpos >= curlstream->readbuffer.writepos && curlstream->pending > 0);}-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php