aboutsummaryrefslogtreecommitdiff
path: root/src/or/dns.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/or/dns.c')
-rw-r--r--src/or/dns.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/or/dns.c b/src/or/dns.c
index c05fcbd32..7c1d58c1c 100644
--- a/src/or/dns.c
+++ b/src/or/dns.c
@@ -76,6 +76,12 @@ static void purge_expired_resolves(uint32_t now) {
while(oldest_cached_resolve && (oldest_cached_resolve->expire < now)) {
resolve = oldest_cached_resolve;
log(LOG_DEBUG,"Forgetting old cached resolve (expires %lu)", (unsigned long)resolve->expire);
+ if(resolve->state == CACHE_STATE_PENDING) {
+ log_fn(LOG_WARN,"Expiring a dns resolve that's still pending. Forgot to cull it?");
+ /* XXX if resolve->pending_connections is used, then we're probably
+ * introducing bugs by closing resolve without notifying those streams.
+ */
+ }
oldest_cached_resolve = resolve->next;
if(!oldest_cached_resolve) /* if there are no more, */
newest_cached_resolve = NULL; /* then make sure the list's tail knows that too */