chiark / gitweb /
+ * TCP handling revamped (avoids recursive-invocation problems).
[adns.git] / src / query.c
index 7eb322d996ba87e85e61815175a087672f0128c3..f805c9296565fe8b10920c15d144e31cd34457a9 100644 (file)
@@ -68,9 +68,9 @@ static adns_query query_alloc(adns_state ads, const typeinfo *typei,
 
   qu->id= 0;
   qu->flags= flags;
-  qu->udpretries= 0;
+  qu->retries= 0;
   qu->udpnextserver= 0;
-  qu->udpsent= qu->tcpfailed= 0;
+  qu->udpsent= 0;
   timerclear(&qu->timeout);
   qu->expires= now.tv_sec + MAXTTLBELIEVE;
 
@@ -399,10 +399,13 @@ void adns_cancel(adns_query qu) {
   adns__consistency(ads,qu,cc_entex);
   if (qu->parent) LIST_UNLINK_PART(qu->parent->children,qu,siblings.);
   switch (qu->state) {
-  case query_tosend: case query_tcpwait: case query_tcpsent:
-    LIST_UNLINK(ads->timew,qu);
+  case query_tosend:
+    LIST_UNLINK(ads->udpw,qu);
     break;
-  case query_child:
+  case query_tcpw:
+    LIST_UNLINK(ads->tcpw,qu);
+    break;
+  case query_childw:
     LIST_UNLINK(ads->childw,qu);
     break;
   case query_done: