Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions src/iocore/hostdb/HostDB.cc
Original file line number Diff line number Diff line change
Expand Up @@ -837,6 +837,7 @@ HostDBContinuation::dnsEvent(int event, HostEnt *e)
// Event should be immediate or interval.
if (!action.continuation) {
// Nothing to do, give up.
bool cleanup_self = false;
if (event == EVENT_INTERVAL) {
// Timeout - clear all queries queued up for this FQDN because none of the other ones have sent an
// actual DNS query. If the request rate is high enough this can cause a persistent queue where the
Expand All @@ -846,9 +847,9 @@ HostDBContinuation::dnsEvent(int event, HostEnt *e)
} else {
// "local" signal to give up, usually due this being one of those "other" queries.
// That generally means @a this has already been removed from the queue, but just in case...
hostDB.pending_dns_for_hash(hash.hash).remove(this);
cleanup_self = hostDB.remove_from_pending_dns_for_hash(hash.hash, this);
}
if (hostDB.remove_from_pending_dns_for_hash(hash.hash, this)) {
if (cleanup_self) {
hostdb_cont_free(this);
}
return EVENT_DONE;
Expand Down