cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: curl_multi_perform will never return CURLM_CALL_MULTI_PERFORM (and suggested fix)

From: Alan <jkabeal-curl_at_yahoo.com>
Date: Fri, 3 Aug 2012 19:43:38 -0700 (PDT)

Maybe my logic does not need to significantly change, but there was a good reason to have curl_multi_perform return CRULM_CALL_MULTI_PERFORM. To allow the application to respond to external events in a more fluid manor. If there are a lot of  easy handles in a multi_stack and multi.c just loops internally until there is no more data to transfer, the application could act like it is not responding for short periods of time. i.e. as long as any easy handle needs to process data, multi interface is blocking. Please correct me if I am wrong. Thanks, Alan ________________________________ From: Alan <jkabeal-curl@yahoo.com> To: libcurl development <curl-library@cool.haxx.se> Sent: Friday, August 3, 2012 10:14 PM Subject: Re: curl_multi_perform will never return CURLM_CALL_MULTI_PERFORM (and suggested fix) This is confusing. Prior to 7.20.0 there were only two return codes from curl_multi_perform: 1. CURLM_OK - Nothing currently to do. 2. CURLM_CALL_MULTI_PERFORM - curl_multi_perform needs to be called again. I originally used your examples of calling curl_multi_perform and did not find any issues with it. If CURLM_CALL_MULTI_PERFORM is no longer returned from curl_multi_perform, how do I know if curl_multi_perform needs to be called again? i.e. there is more pending data to transfer now? Sounds like moving past 20.0.0 will significantly change my logic. Alan ________________________________ From: Daniel Stenberg <daniel@haxx.se> To: libcurl development <curl-library@cool.haxx.se> Sent: Friday, August 3, 2012 5:37 PM Subject: Re: curl_multi_perform will never return CURLM_CALL_MULTI_PERFORM (and suggested fix) On Fri, 3 Aug 2012, Miguel Parra wrote: > Since 7.20 a do-while loop has been added when processing each easy handle held by the multi handle. CURLM_CALL_MULTI_PERFORM is deprecated and will never be returned, as documented. During the first decade or so of libcurl's multi interface, I never saw a single proper use of that feature. I did however see numerous mistakes and misunderstandings. That made me decide that the feature wasn't important or good enough, so since 7.20.0 CURLM_CALL_MULTI_PERFORM is no more. -- / daniel.haxx.se ------------------------------------------------------------------- List admin: http://cool.haxx.se/list/listinfo/curl-library Etiquette:  http://curl.haxx.se/mail/etiquette.html ------------------------------------------------------------------- List admin: http://cool.haxx.se/list/listinfo/curl-library Etiquette:  http://curl.haxx.se/mail/etiquette.html

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2012-08-04