-
Previously, multiple code paths reused client->query.fetch, so it was enough for ns_query_cancel() to issue a single call to dns_resolver_cancelfetch() with that fetch as an argument. Now, since each slot in the 'recursions' array can hold a reference to a separate resolver fetch, ns_query_cancel() needs to handle all of them, so that all recursion callbacks get a chance to clean up the associated resources when a query is canceled.
eb8a2737