Skip to content

Fix datarace when UDP/TCP connect fails and we are in nmthread

Ondřej Surý requested to merge 2314-fix-datarace-in-nm-connect-functions into main

When we were in nmthread, the isc__nm_async_connect() function executes in the same thread as the isc__nm_connect() and on a failure, it would block indefinitely because the failure branch was setting sock->active to false before the condition around the wait had a chance to skip the WAIT().

This also fixes the zero system test being stuck on FreeBSD 11, so we re-enable the test in the commit.

Closes #2314 (closed), #2332 (closed)

Edited by Ondřej Surý

Merge request reports