aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/url.c5
-rw-r--r--lib/urldata.h5
2 files changed, 6 insertions, 4 deletions
diff --git a/lib/url.c b/lib/url.c
index f9181fe60..78c25aebc 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -1360,9 +1360,10 @@ CURLcode Curl_disconnect(struct connectdata *conn)
Curl_safefree(conn->allocptr.host);
Curl_safefree(conn->allocptr.cookiehost);
Curl_safefree(conn->proxyhost);
-#ifdef USE_ARES
+#if defined(USE_ARES) || defined(USE_THREADING_GETHOSTBYNAME)
/* possible left-overs from the async name resolve */
Curl_safefree(conn->async.hostname);
+ Curl_safefree(conn->async.os_specific);
#endif
Curl_free_ssl_config(&conn->ssl_config);
@@ -3238,7 +3239,7 @@ CURLcode Curl_connect(struct SessionHandle *data,
then a successful name resolve has been received */
CURLcode Curl_async_resolved(struct connectdata *conn)
{
-#ifdef USE_ARES
+#if defined(USE_ARES) || defined(USE_THREADING_GETHOSTBYNAME)
CURLcode code = SetupConnection(conn, conn->async.dns);
if(code)
diff --git a/lib/urldata.h b/lib/urldata.h
index 899e154f6..401136874 100644
--- a/lib/urldata.h
+++ b/lib/urldata.h
@@ -376,13 +376,14 @@ struct Curl_transfer_keeper {
bool ignorebody; /* we read a response-body but we ignore it! */
};
-#ifdef USE_ARES
+#if defined(USE_ARES) || defined(USE_THREADING_GETHOSTBYNAME)
struct Curl_async {
char *hostname;
int port;
struct Curl_dns_entry *dns;
bool done; /* set TRUE when the lookup is complete */
int status; /* if done is TRUE, this is the status from the callback */
+ void *os_specific; /* 'struct thread_data' for Windows */
};
#endif
@@ -566,7 +567,7 @@ struct connectdata {
int sockerror; /* errno stored by Curl_read() if the underlying layer returns
error */
-#ifdef USE_ARES
+#if defined(USE_ARES) || defined(USE_THREADING_GETHOSTBYNAME)
/* data used for the asynch name resolve callback */
struct Curl_async async;
#endif