diff --git a/lib/dns/resolver.c b/lib/dns/resolver.c index f7c23fdd5e..8eff22c243 100644 --- a/lib/dns/resolver.c +++ b/lib/dns/resolver.c @@ -6922,6 +6922,8 @@ resquery_response(isc_task_t *task, isc_event_t *event) { (void)isc_timer_touch(fctx->timer); + rctx_respinit(task, devent, query, fctx, &rctx); + if (fctx->res->exiting) { result = ISC_R_SHUTTINGDOWN; FCTXTRACE("resolver shutting down"); @@ -6933,8 +6935,6 @@ resquery_response(isc_task_t *task, isc_event_t *event) { fctx->timeout = ISC_FALSE; fctx->addrinfo = query->addrinfo; - rctx_respinit(task, devent, query, fctx, &rctx); - /* * Check whether the dispatcher has failed; if so we're done */