detach fetchhandle before resume query processing

otherwise, another hook async event or DNS recursion would
trigger an assertion failure.
This commit is contained in:
JINMEI Tatuya
2020-12-11 21:44:54 -08:00
committed by Evan Hunt
parent 5a05cbebc4
commit d520f01c7b
2 changed files with 15 additions and 2 deletions

View File

@@ -717,7 +717,12 @@ hook_recurse_common(void *arg, void *data, isc_result_t *resultp,
asdata->async = true;
}
} else {
/* Resume from the completion of recursion */
/*
* Resume from the completion of async event.
* fetchhandle should have been detached so that we can start
* another async event or DNS recursive resolution.
*/
INSIST(qctx->client->fetchhandle == NULL);
asdata->async = false;
switch (hookpoint) {
case NS_QUERY_GOT_ANSWER_BEGIN: