int lock_bucket;
unsigned int refcnt;
+ unsigned int nh;
unsigned int flags;
unsigned int srtt;
entry->sockaddr = sockaddr;
entry->refcnt = 1;
+ entry->nh = 1;
nh->entry = entry;
break;
if (anh == NULL) {
foundentry->refcnt++;
+ foundentry->nh++;
nh->entry = foundentry;
} else
free_adbnamehook(adb, &nh);
LOCK(&adb->entrylocks[addr_bucket]);
}
+ entry->nh--;
result = dec_entry_refcnt(adb, overmem, entry,
ISC_FALSE);
}
e->magic = DNS_ADBENTRY_MAGIC;
e->lock_bucket = DNS_ADB_INVALIDBUCKET;
e->refcnt = 0;
+ e->nh = 0;
e->flags = 0;
e->udpsize = 0;
e->edns = 0;
print_fetch_list(f, name);
if (debug)
print_find_list(f, name);
-
}
}
for (i = 0; i < adb->nentries; i++) {
entry = ISC_LIST_HEAD(adb->entries[i]);
while (entry != NULL) {
- if (entry->refcnt == 0)
+ if (entry->nh == 0)
dump_entry(f, entry, debug, now);
entry = ISC_LIST_NEXT(entry, plink);
}