chiark
/
gitweb
/
~mdw
/
adns
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
bug_if_query_done backported
[adns]
/
src
/
query.c
diff --git
a/src/query.c
b/src/query.c
index aaadb219e8868134d2882fb36e5f99872949b2e4..038881e5e2553b648d65f9f5079d845fbe49ecad 100644
(file)
--- a/
src/query.c
+++ b/
src/query.c
@@
-66,7
+66,7
@@
static adns_query query_alloc(adns_state ads, const typeinfo *typei,
adns__vbuf_init(&qu->search_vb);
qu->search_origlen= qu->search_pos= qu->search_doneabs= 0;
adns__vbuf_init(&qu->search_vb);
qu->search_origlen= qu->search_pos= qu->search_doneabs= 0;
- qu->id=
-2; /* will be overwritten with real id before we leave adns */
+ qu->id=
0;
qu->flags= flags;
qu->retries= 0;
qu->udpnextserver= 0;
qu->flags= flags;
qu->retries= 0;
qu->udpnextserver= 0;
@@
-501,6
+501,7
@@
void adns__query_done(adns_query qu) {
adns_answer *ans;
adns_query parent;
adns_answer *ans;
adns_query parent;
+ assert(!qu->ads->bug_if_query_done_now);
cancel_children(qu);
qu->id= -1;
cancel_children(qu);
qu->id= -1;
@@
-542,6
+543,7
@@
void adns__query_done(adns_query qu) {
}
void adns__query_fail(adns_query qu, adns_status stat) {
}
void adns__query_fail(adns_query qu, adns_status stat) {
+ assert(!qu->ads->bug_if_query_done_now);
adns__reset_preserved(qu);
qu->answer->status= stat;
adns__query_done(qu);
adns__reset_preserved(qu);
qu->answer->status= stat;
adns__query_done(qu);