mirror of
https://github.com/NLnetLabs/unbound.git
synced 2025-12-20 23:00:56 -05:00
- fix parentside and querytargets modulestate, for dump_requestlist.
git-svn-id: file:///svn/unbound/trunk@2123 be551aaa-1e26-0410-a405-d3ace91eadb9
This commit is contained in:
parent
153fd4a7f6
commit
d9e6fd3bac
2 changed files with 14 additions and 5 deletions
|
|
@ -5,6 +5,7 @@
|
||||||
enabling unbound to continue longer in out of memory conditions.
|
enabling unbound to continue longer in out of memory conditions.
|
||||||
- parentside names are dispreferred but not said to be dnssec-lame.
|
- parentside names are dispreferred but not said to be dnssec-lame.
|
||||||
- parentside check for cached newname glue.
|
- parentside check for cached newname glue.
|
||||||
|
- fix parentside and querytargets modulestate, for dump_requestlist.
|
||||||
|
|
||||||
28 May 2010: Wouter
|
28 May 2010: Wouter
|
||||||
- iana portlist updated.
|
- iana portlist updated.
|
||||||
|
|
|
||||||
|
|
@ -1429,8 +1429,10 @@ processLastResort(struct module_qstate* qstate, struct iter_qstate* iq,
|
||||||
return error_response(qstate, id, LDNS_RCODE_SERVFAIL);
|
return error_response(qstate, id, LDNS_RCODE_SERVFAIL);
|
||||||
}
|
}
|
||||||
iq->num_target_queries += qs;
|
iq->num_target_queries += qs;
|
||||||
if(qs != 0)
|
if(qs != 0) {
|
||||||
|
qstate->ext_state[id] = module_wait_subquery;
|
||||||
return 0; /* and wait for them */
|
return 0; /* and wait for them */
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/* mark cycle targets for parent-side lookups */
|
/* mark cycle targets for parent-side lookups */
|
||||||
iter_mark_pside_cycle_targets(qstate, iq->dp);
|
iter_mark_pside_cycle_targets(qstate, iq->dp);
|
||||||
|
|
@ -1504,7 +1506,6 @@ processQueryTargets(struct module_qstate* qstate, struct iter_qstate* iq,
|
||||||
verbose(VERB_ALGO, "processQueryTargets: targetqueries %d, "
|
verbose(VERB_ALGO, "processQueryTargets: targetqueries %d, "
|
||||||
"currentqueries %d", iq->num_target_queries,
|
"currentqueries %d", iq->num_target_queries,
|
||||||
iq->num_current_queries);
|
iq->num_current_queries);
|
||||||
qstate->ext_state[id] = module_wait_reply;
|
|
||||||
|
|
||||||
/* Make sure that we haven't run away */
|
/* Make sure that we haven't run away */
|
||||||
/* FIXME: is this check even necessary? */
|
/* FIXME: is this check even necessary? */
|
||||||
|
|
@ -1529,6 +1530,7 @@ processQueryTargets(struct module_qstate* qstate, struct iter_qstate* iq,
|
||||||
* more delegpt addrs became available, wait for existing
|
* more delegpt addrs became available, wait for existing
|
||||||
* query. */
|
* query. */
|
||||||
verbose(VERB_ALGO, "woke up, but wait for outstanding query");
|
verbose(VERB_ALGO, "woke up, but wait for outstanding query");
|
||||||
|
qstate->ext_state[id] = module_wait_reply;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1551,6 +1553,7 @@ processQueryTargets(struct module_qstate* qstate, struct iter_qstate* iq,
|
||||||
if(iq->num_target_queries > 0) {
|
if(iq->num_target_queries > 0) {
|
||||||
/* wait to get all targets, we want to try em */
|
/* wait to get all targets, we want to try em */
|
||||||
verbose(VERB_ALGO, "wait for all targets for fallback");
|
verbose(VERB_ALGO, "wait for all targets for fallback");
|
||||||
|
qstate->ext_state[id] = module_wait_reply;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
/* did we do enough fallback queries already? */
|
/* did we do enough fallback queries already? */
|
||||||
|
|
@ -1640,18 +1643,23 @@ processQueryTargets(struct module_qstate* qstate, struct iter_qstate* iq,
|
||||||
|
|
||||||
/* otherwise, we have no current targets, so submerge
|
/* otherwise, we have no current targets, so submerge
|
||||||
* until one of the target or direct queries return. */
|
* until one of the target or direct queries return. */
|
||||||
if(iq->num_target_queries>0 && iq->num_current_queries>0)
|
if(iq->num_target_queries>0 && iq->num_current_queries>0) {
|
||||||
verbose(VERB_ALGO, "no current targets -- waiting "
|
verbose(VERB_ALGO, "no current targets -- waiting "
|
||||||
"for %d targets to resolve or %d outstanding"
|
"for %d targets to resolve or %d outstanding"
|
||||||
" queries to respond", iq->num_target_queries,
|
" queries to respond", iq->num_target_queries,
|
||||||
iq->num_current_queries);
|
iq->num_current_queries);
|
||||||
else if(iq->num_target_queries>0)
|
qstate->ext_state[id] = module_wait_reply;
|
||||||
|
} else if(iq->num_target_queries>0) {
|
||||||
verbose(VERB_ALGO, "no current targets -- waiting "
|
verbose(VERB_ALGO, "no current targets -- waiting "
|
||||||
"for %d targets to resolve.",
|
"for %d targets to resolve.",
|
||||||
iq->num_target_queries);
|
iq->num_target_queries);
|
||||||
else verbose(VERB_ALGO, "no current targets -- waiting "
|
qstate->ext_state[id] = module_wait_subquery;
|
||||||
|
} else {
|
||||||
|
verbose(VERB_ALGO, "no current targets -- waiting "
|
||||||
"for %d outstanding queries to respond.",
|
"for %d outstanding queries to respond.",
|
||||||
iq->num_current_queries);
|
iq->num_current_queries);
|
||||||
|
qstate->ext_state[id] = module_wait_reply;
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue