]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
Runnables from slumberlist done to clean it up.
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Thu, 21 Jun 2007 08:05:16 +0000 (08:05 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Thu, 21 Jun 2007 08:05:16 +0000 (08:05 +0000)
git-svn-id: file:///svn/unbound/trunk@411 be551aaa-1e26-0410-a405-d3ace91eadb9

daemon/worker.c
doc/Changelog

index 2556d7f234ba9115dd783fedb4012eb1927a09c4..0e949e1d4c2301d25e06103977a7d7c239d86c02 100644 (file)
@@ -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 */
index 3a5ee119ba9fd2d692e06258454ecafe124b38cd..c88f350825872e70456eb22dd539ccb5baf0bd24 100644 (file)
@@ -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.