cURL / Mailing Lists / curl-library / Single Mail

curl-library

RE: "pull" aspect of multi interface not quite working properly

From: Allen Pulsifer <pulsifer3_at_comcast.net>
Date: Mon, 2 Jul 2007 18:21:40 -0400

> Thanks, but this patch doesn't address the return codes from
> curl_multi_* functions

It does. That is in the two lines:

+ if (easy->easy_handle->change.url_changed || (easy->easy_conn &&
Curl_ssl_data_pending(easy->easy_conn, FIRSTSOCKET)))
+ return CURLM_CALL_MULTI_PERFORM;

I might not have done it right, but it does address it.

> nor my concerns about the extra recv() calls this
> approach will
> cause when doing SSH-based uploads (due to data_pending()
> working like it does).

I have no understanding what this concern is about. I can't see how the
modification could possibly cause extra recv calls because the code is no
different in that respect. By that I mean, in the unmodified code, there is
a loop body that is executed whenever data_pending() is true. The
modification does not change this, it still executes the same loop body
whenever data_pending() is true. The only difference is that with the
modification, it returns to the application before each execution of the
loop. If you think there is a possibility of extra calls to recv(), could
you please point out specifically where those calls would occur. Thank you.
Received on 2007-07-03