mirror of
https://github.com/moparisthebest/curl
synced 2024-12-21 23:58:49 -05:00
remove_handle: call multi_done() first, then clear dns cache pointer
Closes #1960
This commit is contained in:
parent
f3e03f6c0a
commit
1e552535e1
13
lib/multi.c
13
lib/multi.c
@ -711,12 +711,6 @@ CURLMcode curl_multi_remove_handle(struct Curl_multi *multi,
|
||||
curl_easy_cleanup is called. */
|
||||
Curl_expire_clear(data);
|
||||
|
||||
if(data->dns.hostcachetype == HCACHE_MULTI) {
|
||||
/* stop using the multi handle's DNS cache */
|
||||
data->dns.hostcache = NULL;
|
||||
data->dns.hostcachetype = HCACHE_NONE;
|
||||
}
|
||||
|
||||
if(data->easy_conn) {
|
||||
|
||||
/* we must call multi_done() here (if we still own the connection) so that
|
||||
@ -735,6 +729,13 @@ CURLMcode curl_multi_remove_handle(struct Curl_multi *multi,
|
||||
Curl_getoff_all_pipelines(data, data->easy_conn);
|
||||
}
|
||||
|
||||
if(data->dns.hostcachetype == HCACHE_MULTI) {
|
||||
/* stop using the multi handle's DNS cache, *after* the possible
|
||||
multi_done() call above */
|
||||
data->dns.hostcache = NULL;
|
||||
data->dns.hostcachetype = HCACHE_NONE;
|
||||
}
|
||||
|
||||
Curl_wildcard_dtor(&data->wildcard);
|
||||
|
||||
/* destroy the timeout list that is held in the easy handle, do this *after*
|
||||
|
Loading…
Reference in New Issue
Block a user