|
@@ -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 */
|