cURL / Mailing Lists / curl-library / Single Mail

curl-library

RE: Removing internal dual interface code handling

From: Yehezkel Horowitz <horowity_at_checkpoint.com>
Date: Tue, 27 Nov 2012 09:02:06 +0000

Hi Daniel

>As you will see, the new curl_easy_perform() implementation is almost ridiculously simple - even though I'm sure I've missed a couple of things we need to add before we can consider it a true replacement.
First - this change is important and indeed should make things more simple to maintain in the future.

I looked at your patch and saw that curl_easy_perform now do:
  + mcode = curl_multi_wait(multi, NULL, 0, 1000, NULL);
  + if(mcode == CURLM_OK)
  + mcode = curl_multi_perform(multi, &still_running);

My comments:
1. The first call should be to curl_multi_perform and only then to curl_multi_wait (why wasting the time before we tried to progress).
2. I would expect socket-event based code (as replacement of the select/poll call), currently you just wait for 1 second before making progress even if the socket is ready before.
This could decrease the performance of libcurl, which is one of the killing features it has.

Just my thoughts - hope I didn't missed anything.

Regards,

Yehezkel Horowitz

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