Mark the dns entry 'inuse' properly even when used from the cache. This

seems to correct some host cache screw-ups I could reproduce.
This commit is contained in:
Daniel Stenberg 2004-02-15 16:57:53 +00:00
Родитель 8ddc18a4f9
Коммит a7e04cac78
1 изменённых файлов: 11 добавлений и 3 удалений

Просмотреть файл

@ -191,7 +191,7 @@ hostcache_prune(curl_hash *hostcache, int cache_timeout, int now)
user.cache_timeout = cache_timeout;
user.now = now;
Curl_hash_clean_with_criterium(hostcache,
(void *) &user,
hostcache_timestamp_remove);
@ -367,8 +367,10 @@ int Curl_resolv(struct connectdata *conn,
rc = 0;
}
}
else
else {
dns->inuse++; /* we use it! */
rc = 0;
}
*entry = dns;
@ -382,9 +384,15 @@ void Curl_resolv_unlock(struct SessionHandle *data, struct Curl_dns_entry *dns)
dns->inuse--;
#ifdef CURLDEBUG
if(dns->inuse < 0) {
infof(data, "Interal host cache screw-up!");
*(char **)0=NULL;
}
#endif
if(data->share)
Curl_share_unlock(data, CURL_LOCK_DATA_DNS);
}
/*