Resolve "dig +nssearch sometimes hangs in BIND v9.16, with an assertion failure after "ctrl+c"
Fix dig +nssearch race between recv_done()
and send_done()
.
The send_done()
callback needs to access query's link.next
pointer
when running in +nssearch
mode, even if the query is already canceled
or serviced, which can happen when recv_done()
happens to be called
earlier than send_done()
.
Keep the next query's pointer before unlinking the query from the
lookup's queries list in clear_query()
so that send_done()
can
use it even if the query is cleared.
Closes #3278 (closed)
Edited by Arаm Sаrgsyаn