fix for top reuse

git-svn-id: file:///svn/unbound/trunk@2312 be551aaa-1e26-0410-a405-d3ace91eadb9
This commit is contained in:
Wouter Wijngaards 2010-10-26 15:28:01 +00:00
parent 498cc8ab88
commit a6b302f117

View file

@ -264,6 +264,7 @@ infra_host(struct infra_cache* infra, struct sockaddr_storage* addr,
int wr = 0;
if(e && ((struct infra_host_data*)e->data)->ttl < timenow) {
/* it expired, try to reuse existing entry */
int old = ((struct infra_host_data*)e->data)->rtt.rto;
lock_rw_unlock(&e->lock);
e = infra_lookup_host_nottl(infra, addr, addrlen, 1);
if(e) {
@ -272,6 +273,9 @@ infra_host(struct infra_cache* infra, struct sockaddr_storage* addr,
/* do not touch lameness, it may be valid still */
host_entry_init(infra, e, timenow);
wr = 1;
/* TOP_TIMEOUT remains on reuse */
if(old >= USEFUL_SERVER_TOP_TIMEOUT)
((struct infra_host_data*)e->data)->rtt.rto=old;
}
}
if(!e) {