mirror of
https://github.com/isc-projects/bind9.git
synced 2026-04-27 00:58:39 -04:00
When finishing the NSSEARCH task and there is no more followup lookups to start, dig does not destroy the last lookup, which causes it to hang indefinitely. Rename the unused `first_pass` member of `dig_query_t` to `started` and make it `true` in the first callback after `start_udp()` or `start_tcp()` of the query to indicate that the query has been started. Create a new `check_if_queries_done()` function to check whether all of the queries inside a lookup have been started and finished, or canceled. Use the mentioned function in the TRACE code block in `recv_done()` to check whether the current query is the last one in the lookup and cancel the lookup in that case to free the resources. |
||
|---|---|---|
| .. | ||
| .gitignore | ||
| dig.c | ||
| dig.rst | ||
| dighost.c | ||
| dighost.h | ||
| host.c | ||
| host.rst | ||
| Makefile.am | ||
| nslookup.c | ||
| nslookup.rst | ||
| readline.h | ||