[v9_18] Unify dig +nssearch next query starting code for TCP and UDP protocols
In +nssearch
mode dig
starts the next query of the followup lookup
using start_udp()
or start_tcp()
calls without waiting for the
previous query to complete.
In UDP mode that happens in the send_done()
callback of the previous
query, but in TCP mode that happens in the start_tcp()
call of the
previous query (recursion) which doesn't work because start_tcp()
attaches the lookup->current_query
to the query it is starting, so a
recursive call will result in an assertion failure.
Make the TCP mode to start the next query in send_done()
, just like in
the UDP mode. During that time the lookup->current_query
is already
detached by the tcp_connected()
/udp_ready()
callbacks.
Closes #3144 (closed)