Merge branch 'ondrej-use-correct-task-for-resume_dslookup-v9_18' into 'v9_18'

Run resume_dslookup() from the correct task [v9.18]

See merge request isc-projects/bind9!6164
This commit is contained in:
Ondřej Surý 2022-04-22 14:57:40 +00:00
commit 08feb4c23e

View file

@ -9729,6 +9729,7 @@ rctx_chaseds(respctx_t *rctx, dns_message_t *message,
fetchctx_t *fctx = rctx->fctx;
unsigned int n;
fetchctx_t *ev_fctx = NULL;
isc_task_t *task = NULL;
add_bad(fctx, message, addrinfo, result, rctx->broken_type);
fctx_cancelqueries(fctx, true, false);
@ -9741,10 +9742,11 @@ rctx_chaseds(respctx_t *rctx, dns_message_t *message,
fctx_attach(fctx, &ev_fctx);
task = fctx->res->buckets[fctx->bucketnum].task;
result = dns_resolver_createfetch(
fctx->res, fctx->nsname, dns_rdatatype_ns, NULL, NULL, NULL,
NULL, 0, fctx->options, 0, NULL, fctx->task, resume_dslookup,
ev_fctx, &fctx->nsrrset, NULL, &fctx->nsfetch);
NULL, 0, fctx->options, 0, NULL, task, resume_dslookup, ev_fctx,
&fctx->nsrrset, NULL, &fctx->nsfetch);
if (result != ISC_R_SUCCESS) {
if (result == DNS_R_DUPLICATE) {
result = DNS_R_SERVFAIL;