On Thu, 2 Apr 2009, Sergii Volchkov wrote:

So, in my opinion, using curl share can be used as a workaround for the described issue, without a need to use synchronous DNS lookup or a-res. However, this approach cannot be considered a permanent solution for libcurl, since CURLSHOPT_SHARE/CURL_LOCK_DATA_DNS states: "Note that when you use the multi interface, all easy handles added to the same multi handle will share DNS cache by default without this having to be used!"

Thanks for your research on this topic.

I would say that it indicates a race condition in the multi-threaded resolver that makes it do bad things unless there's a mutex added and used to prevent the double access to the same structs.

This fix won't be done by me, I'm not a windows guy.

--

 / daniel.haxx.se

Reply via email to