Hi, you cannot change existing DNS entries after they have been added, because the entries are possibly shared between multiple threads, and only the access to the cache itself (and the ->inuse counter) is synchronized.
Best regards, Stefan Bühler Von: curl-library [mailto:[email protected]] Im Auftrag von Ray Satiro via curl-library Gesendet: Sonntag, 8. März 2015 22:35 An: Libcurl Development Betreff: Re: Fixing CURLOPT_RESOLVE On 3/2/2015 2:28 AM, Ray Satiro wrote: I've started some work on fixing CURLOPT_RESOLVE. I have fixed it so that multiple addresses can be stored for each host:port. You can see a branch comparison at [1]. I'm exploring the removal of cache entries now. Currently it is documented that an entry can be removed by -host:port but it is not implemented [2][3]. I can't see an easy way to do it. If a Curl_dns_entry has an inuse count and that count is 1 it seems to me there's really no way to tell if that's because it's a user initiated entry (ie CURLOPT_RESOLVE incremented inuse so the cache entry is always in use) or because it's actually in use. [...] [1]: https://github.com/bagder/curl/compare/master...jay:fix-curlopt_resolve?expand=1 [2]: http://curl.haxx.se/libcurl/c/CURLOPT_RESOLVE.html [3]: https://github.com/bagder/curl/blob/17abfd5/lib/hostip.c#L800-L802 I didn't get any feedback on this so I just went ahead and wrote it in the way I think is most correct. https://github.com/jay/curl/commit/1ae8b1f ------------------------------------------------------------------- List admin: http://cool.haxx.se/list/listinfo/curl-library Etiquette: http://curl.haxx.se/mail/etiquette.html
