mirror of
https://github.com/isc-projects/bind9.git
synced 2026-03-26 12:23:04 -04:00
When a query times out after a socket is created and associated with a given dig_query_t structure, calling isc_socket_cancel() causes connect_done() to be run, which in turn takes care of all necessary cleanups. However, certain errors (e.g. get_address() returning ISC_R_FAMILYNOSUPPORT) may prevent a TCP socket from being created in the first place. Since force_timeout() may be used in code handling such errors, connect_timeout() needs to properly clean up a TCP query which is not associated with any socket. Call clear_query() from connect_timeout() after attempting to send a TCP query to the next available server if the timed out query does not have a socket associated with it, in order to prevent dig from hanging indefinitely due to the dig_query_t structure not being detached from its parent dig_lookup_t structure. |
||
|---|---|---|
| .. | ||
| check | ||
| confgen | ||
| delv | ||
| dig | ||
| dnssec | ||
| named | ||
| nsupdate | ||
| pkcs11 | ||
| plugins | ||
| python | ||
| rndc | ||
| tests | ||
| tools | ||
| win32/BINDInstall | ||
| Makefile.in | ||