mirror of
https://github.com/NLnetLabs/unbound.git
synced 2026-01-30 10:19:27 -05:00
fix for top reuse
git-svn-id: file:///svn/unbound/trunk@2312 be551aaa-1e26-0410-a405-d3ace91eadb9
This commit is contained in:
parent
498cc8ab88
commit
a6b302f117
1 changed files with 4 additions and 0 deletions
4
services/cache/infra.c
vendored
4
services/cache/infra.c
vendored
|
|
@ -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) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue