On Fri, 5 Jul 2013, Keyur Govande wrote:

Looking at the code it seems like if for example, the protocol connect for HTTPS didn't finish quickly enough, curl_multi_perform() will return CURLM_CALL_MULTI_PERFORM.

No, that's reading it a bit wrong. First off, curl_multi_perform() doesn't even return that return code since a few years back!

Then, libcurl has always only returned the CURLM_CALL_MULTI_PERFORM return code when there was actually something more for libcurl to do. It would never return that simply because an operation wasn't completed.

I'm proposing that this edge-case is the same as not finishing a TCP connect() and both should be handled similarly.

My goal is to be able to make an asynchronous RPC with curl. If there are other ways to accomplish this, please do let me know. From my point of view, the library is 99.9% of the way there in supporting this behavior, except for this one corner case around the TCP connection.

I don't understand why you need to know those libcurl state transitions just to make asynchronous operations!

--

 / daniel.haxx.se
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html

Reply via email to