From: Wouter Wijngaards Date: Thu, 21 Jun 2007 08:05:16 +0000 (+0000) Subject: Runnables from slumberlist done to clean it up. X-Git-Tag: release-0.4~55 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=78c8161cf47c913468814a77abbcf50debbc579a;p=thirdparty%2Funbound.git Runnables from slumberlist done to clean it up. git-svn-id: file:///svn/unbound/trunk@411 be551aaa-1e26-0410-a405-d3ace91eadb9 --- diff --git a/daemon/worker.c b/daemon/worker.c index 2556d7f23..0e949e1d4 100644 --- a/daemon/worker.c +++ b/daemon/worker.c @@ -224,13 +224,13 @@ run_debug(struct module_qstate* p, int d) /** find runnable recursive */ static struct module_qstate* -find_run_in(struct module_qstate* p) +find_run_in(struct module_qstate* pfirst) { - struct module_qstate* q; - for(p = p->subquery_first; p; p = p->subquery_next) { + struct module_qstate* q, *p; + for(p = pfirst; p; p = p->subquery_next) { if(p->ext_state[p->curmod] == module_state_initial) return p; - if((q=find_run_in(p))) + if((q=find_run_in(p->subquery_first))) return q; } return NULL; @@ -249,7 +249,10 @@ find_runnable(struct module_qstate* subq) p = p->parent; if(verbosity >= VERB_ALGO) run_debug(p, 0); - return find_run_in(p); + p = find_run_in(p->subquery_first); + if(p) return p; + p = find_run_in(subq->env->worker->slumber_list); + return p; } /** process incoming request */ diff --git a/doc/Changelog b/doc/Changelog index 3a5ee119b..c88f35082 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,3 +1,7 @@ +21 June 2007: Wouter + - Fixup secondary buffer in case of error callback. + - cleanup slumber list of runnable states. + 20 June 2007: Wouter - new -C option to enable coredumps after forking away. - doc update.