Prevent the double xfrin_fail() call
When we are reading from the xfrin socket, and the transfer would be
shutdown, the shutdown function would call xfrin_fail()
which in turns
calls xfrin_cancelio()
that causes the read callback to be invoked
with ISC_R_CANCELED
status code and that caused yet another
xfrin_fail()
call.
The proper fix here is to just set the shuttingdown flag (so, it's properly caught by the callbacks) and call xfrin_cancelio() from dns_xfrin_shutdown() function.
Closes #2630 (closed)
Edited by Ondřej Surý