On Thu, 9 Dec 2010, Michael Menegakis wrote:

I identified at least part of this problem. The Ubuntu VirtualBox I test it on doesn't have a libcurl with c-ares support. Apparently, several other projects identified the problem and as of a message from 2 days ago (what are the odds?), it's pending for approval and inclusion in their next updates.

If you think ubuntu upstream is going to ship such a libcurl with c-ares in the short term, then I think you need to reconsider. libcurl with c-ares still have issues that we haven't fixed that cause problems to some amount of people. Both debian and fedora have already tried to ship curl packages built with c-ares and had to revert them.

But you can of course build your own libcurl with c-ares enabled, it's both quick and easy to do. Or you can build it to use the threaded resolver which accomplishes the same effect here.

I came to googling that after benchmarking that specifically curl_multi_perform() produced a tough blocking.

Yes, if you're using libcurl built to use the ordinary synchronous name resolver, libcurl will block during name resolves. And libcurl is then likely to do a resolve on the first request and then it might re-use the resolved info in subsequent requests if the same host name is used.

I get the idea windows had it too but very rarely compared to that (c-ares bug?). I don't discount it yet though.

libcurl for windows builds with a threaded resolver by default so it doesn't suffer from the name resolve blocking when built so.

It leaves the blocking I noticed on very rapidly packed simultaneous
easies, but I have it at least workarounded it with a simple flood
protection.

It doesn't have anything to do with "flooding".

BTW, there are also a few other code flows that causes the multi interface to block and we've tried to document them here:

  http://curl.haxx.se/libcurl/c/libcurl-multi.html#BLOCKING

--

 / 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