Ensure thread handle is closed too.

This commit is contained in:
Gisle Vanem 2005-06-14 14:47:21 +00:00
parent 1dc0ce9562
commit bb0aba34fa
1 changed files with 4 additions and 3 deletions

View File

@ -299,7 +299,7 @@ static unsigned __stdcall getaddrinfo_thread (void *arg)
#endif
/*
* Curl_destroy_thread_data() cleans up async resolver data.
* Curl_destroy_thread_data() cleans up async resolver data and thread handle.
* Complementary of ares_destroy.
*/
void Curl_destroy_thread_data (struct Curl_async *async)
@ -321,6 +321,9 @@ void Curl_destroy_thread_data (struct Curl_async *async)
if (td->event_resolved)
CloseHandle(td->event_resolved);
if (td->thread_hnd)
CloseHandle(td->thread_hnd);
free(async->os_specific);
}
async->hostname = NULL;
@ -481,8 +484,6 @@ CURLcode Curl_wait_for_resolv(struct connectdata *conn,
TRACE(("elapsed %lu ms\n", GetTickCount()-ticks));
CloseHandle(td->thread_hnd);
if(entry)
*entry = conn->async.dns;