*/
/*
* This file is part of adns, which is
- * Copyright (C) 1997-2000,2003,2006 Ian Jackson
+ * Copyright (C) 1997-2000,2003,2006,2014-2016 Ian Jackson
+ * Copyright (C) 2014 Mark Wooding
* Copyright (C) 1999-2000,2003,2006 Tony Finch
* Copyright (C) 1991 Massachusetts Institute of Technology
* (See the file INSTALL for full details.)
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * along with this program; if not, write to the Free Software Foundation.
*/
#include "internal.h"
}
static void checkc_queue_childw(adns_state ads) {
- adns_query parent, child;
+ adns_query parent, child, search;
DLIST_CHECK(ads->childw, parent, , {
assert(parent->state == query_childw);
assert(parent->children.head);
DLIST_CHECK(parent->children, child, siblings., {
assert(child->parent == parent);
- assert(child->state != query_done);
+ if (child->state == query_done) {
+ for (search= ads->intdone.head; search; search= search->next)
+ if (search==child) goto child_done_ok;
+ assert(!"done child not on intdone");
+ child_done_ok:;
+ }
});
checkc_query(ads,parent);
checkc_query_alloc(ads,parent);