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