Skip to content

Prevent the double xfrin_fail() call

Ondřej Surý requested to merge 2630-tsan-error-in-xfrin-c into main

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ý

Merge request reports