summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
4f9225e)
We'll want this later.
Signed-off-by: Mark Wooding <mdw@distorted.org.uk>
void adns__query_done(adns_query qu);
void adns__query_fail(adns_query qu, adns_status stat);
void adns__query_done(adns_query qu);
void adns__query_fail(adns_query qu, adns_status stat);
+void adns__cancel_children(adns_query qu);
-static void cancel_children(adns_query qu) {
+void adns__cancel_children(adns_query qu) {
adns_query cqu, ncqu;
for (cqu= qu->children.head; cqu; cqu= ncqu) {
adns_query cqu, ncqu;
for (cqu= qu->children.head; cqu; cqu= ncqu) {
void adns__reset_preserved(adns_query qu) {
assert(!qu->final_allocspace);
void adns__reset_preserved(adns_query qu) {
assert(!qu->final_allocspace);
+ adns__cancel_children(qu);
qu->answer->nrrs= 0;
qu->answer->rrs.untyped= 0;
qu->interim_allocd= qu->preserved_allocd;
qu->answer->nrrs= 0;
qu->answer->rrs.untyped= 0;
qu->interim_allocd= qu->preserved_allocd;
static void free_query_allocs(adns_query qu) {
allocnode *an, *ann;
static void free_query_allocs(adns_query qu) {
allocnode *an, *ann;
+ adns__cancel_children(qu);
for (an= qu->allocations.head; an; an= ann) { ann= an->next; free(an); }
LIST_INIT(qu->allocations);
adns__vbuf_free(&qu->vb);
for (an= qu->allocations.head; an; an= ann) { ann= an->next; free(an); }
LIST_INIT(qu->allocations);
adns__vbuf_free(&qu->vb);
adns_answer *ans;
adns_query parent;
adns_answer *ans;
adns_query parent;
+ adns__cancel_children(qu);
qu->id= -1;
ans= qu->answer;
qu->id= -1;
ans= qu->answer;