fix bug (?) :-)
previously, if you called curl_easy_perform and then set the global dns cache, the global cache wouldn't be used. I don't see this really happening in practice, but this code allows you to do it.
This commit is contained in:
Родитель
9b4f92130f
Коммит
cfb32da198
14
lib/easy.c
14
lib/easy.c
|
@ -233,15 +233,17 @@ CURLcode curl_easy_perform(CURL *curl)
|
|||
{
|
||||
struct SessionHandle *data = (struct SessionHandle *)curl;
|
||||
|
||||
if (!data->hostcache) {
|
||||
if (Curl_global_host_cache_use(data)) {
|
||||
data->hostcache = Curl_global_host_cache_get();
|
||||
}
|
||||
else {
|
||||
data->hostcache = Curl_hash_alloc(7, Curl_freednsinfo);
|
||||
if (Curl_global_host_cache_use(data) && data->hostcache != Curl_global_host_cache_get()) {
|
||||
if (data->hostcache) {
|
||||
Curl_hash_destroy(data->hostcache);
|
||||
}
|
||||
data->hostcache = Curl_global_host_cache_get();
|
||||
}
|
||||
|
||||
if (!data->hostcache) {
|
||||
data->hostcache = Curl_hash_alloc(7, Curl_freednsinfo);
|
||||
}
|
||||
|
||||
return Curl_perform(data);
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче