307. [bug] When canceling a query, the resolver didn't check for
isc_socket_sendto() calls that did not yet have their completion events posted, so it could (rarely) end up destroying the query context and then want to use it again when the send event posted, triggering an assertion as it tried to cancel an already-canceled query. (RT #77) ... so now the resolver counts the number of outstanding isc_socket_sendto()s and only destroys the query context when there are no more.
Showing with 53 additions and 12 deletions