chiark / gitweb /
Reentrancy: Introduce adns__cancel
[adns] / src / internal.h
index 4fd6ee802fb622f1586a2428cbcfd2e4f7f0e131..d53ea5f3a93c40542d1fc06e15904f9710521eda 100644 (file)
@@ -704,10 +704,15 @@ void adns__reset_preserved(adns_query qu);
  * in a datagram and discover that we need to retry the query.
  */
 
+void adns__cancel(adns_query qu);
 void adns__query_done(adns_query qu);
 void adns__query_fail(adns_query qu, adns_status stat);
 void adns__cancel_children(adns_query qu);
 
+void adns__returning(adns_state ads, adns_query qu);
+/* Must be called before returning from adns any time that we have
+ * progressed (including made, finished or destroyed) queries. */
+
 /* From reply.c: */
 
 void adns__procdgram(adns_state ads, const byte *dgram, int len,
@@ -872,6 +877,7 @@ void adns__autosys(adns_state ads, struct timeval now);
 
 void adns__must_gettimeofday(adns_state ads, const struct timeval **now_io,
                             struct timeval *tv_buf);
+/* Call with care - might reentrantly cause queries to be completed! */
 
 int adns__pollfds(adns_state ads, struct pollfd pollfds_buf[MAX_POLLFDS]);
 void adns__fdevents(adns_state ads,