isc_sockaddrlist_t bad;
ISC_LIST(struct tried) edns;
isc_sockaddrlist_t bad_edns;
- dns_validator_t *validator;
ISC_LIST(dns_validator_t) validators;
dns_db_t *cache;
dns_adb_t *adb;
&fctx->nfails, fctx->qc, fctx->gqc, &validator);
RUNTIME_CHECK(result == ISC_R_SUCCESS);
inc_stats(fctx->res, dns_resstatscounter_val);
- if ((valoptions & DNS_VALIDATOR_DEFER) == 0) {
- INSIST(fctx->validator == NULL);
- fctx->validator = validator;
- }
ISC_LIST_APPEND(fctx->validators, validator, link);
return ISC_R_SUCCESS;
}
static void
validated(void *arg) {
dns_validator_t *val = (dns_validator_t *)arg;
+ dns_validator_t *nextval = NULL;
dns_adbaddrinfo_t *addrinfo = NULL;
dns_dbnode_t *node = NULL;
dns_dbnode_t *nsnode = NULL;
LOCK(&fctx->lock);
ISC_LIST_UNLINK(fctx->validators, val, link);
- fctx->validator = NULL;
UNLOCK(&fctx->lock);
/*
UNLOCK(&fctx->lock);
- INSIST(fctx->validator == NULL);
-
- fctx->validator = ISC_LIST_HEAD(fctx->validators);
- if (fctx->validator != NULL) {
- dns_validator_send(fctx->validator);
+ nextval = ISC_LIST_HEAD(fctx->validators);
+ if (nextval != NULL) {
+ dns_validator_send(nextval);
goto cleanup_fetchctx;
} else if (sentresponse) {
done = true;
*frespp = NULL;
dns_ede_unlinkall(fresp->mctx, &fresp->edelist);
isc_mem_putanddetach(&fresp->mctx, fresp, sizeof(*fresp));
-}
+}
\ No newline at end of file