Merge branch '1336-1404-netmgr-destroy-tsan-fixes' into 'master'

Fix minor shutdown issues detected by TSAN

Closes #1404 and #1336

See merge request isc-projects/bind9!2639
This commit is contained in:
Ondřej Surý
2019-11-26 17:32:31 +00:00

View File

@@ -198,6 +198,7 @@ nm_destroy(isc_nm_t **mgr0) {
int r = uv_loop_close(&mgr->workers[i].loop);
INSIST(r == 0);
isc_queue_destroy(mgr->workers[i].ievents);
isc_thread_join(mgr->workers[i].thread, NULL);
}
isc_condition_destroy(&mgr->wkstatecond);
@@ -424,9 +425,10 @@ nm_thread(void *worker0) {
atomic_store(&worker->mgr->paused, false);
}
}
bool finished = worker->finished;
UNLOCK(&worker->lock);
if (worker->finished) {
if (finished) {
/*
* We need to launch the loop one more time
* in UV_RUN_NOWAIT mode to make sure that