duphandle: use ares_dup()

curl_easy_duphandle() was not properly duping the ares channel. The
ares_dup() function was introduced in c-ares 1.6.0 so by starting to use
this function we also raise the bar and require c-ares >= 1.6.0
(released Dec 9, 2008) for such builds.

Reported by: Ning Dong
Bug: http://curl.haxx.se/mail/lib-2010-08/0318.html
This commit is contained in:
Daniel Stenberg
2010-09-21 16:41:14 +02:00
parent 70a025f3df
commit 19f45eaa79
3 changed files with 5 additions and 3 deletions

View File

@@ -700,8 +700,9 @@ CURL *curl_easy_duphandle(CURL *incurl)
}
#ifdef USE_ARES
/* If we use ares, we setup a new ares channel for the new handle */
if(ARES_SUCCESS != ares_init(&outcurl->state.areschannel))
/* If we use ares, we clone the ares channel for the new handle */
if(ARES_SUCCESS != ares_dup(&outcurl->state.areschannel,
data->state.areschannel))
break;
#endif