From ad12c2f3b0adefdacc3308e0193b770178153bb6 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Thu, 12 Dec 2019 17:43:03 +1100 Subject: [PATCH] address lock order inversion --- lib/isc/netmgr/netmgr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/isc/netmgr/netmgr.c b/lib/isc/netmgr/netmgr.c index 7618ff09a95..0fdd215df1d 100644 --- a/lib/isc/netmgr/netmgr.c +++ b/lib/isc/netmgr/netmgr.c @@ -168,7 +168,6 @@ nm_destroy(isc_nm_t **mgr0) { isc_refcount_destroy(&mgr->references); - LOCK(&mgr->lock); mgr->magic = 0; for (size_t i = 0; i < mgr->nworkers; i++) { @@ -181,6 +180,7 @@ nm_destroy(isc_nm_t **mgr0) { isc__nm_enqueue_ievent(&mgr->workers[i], event); } + LOCK(&mgr->lock); while (atomic_load(&mgr->workers_running) > 0) { WAIT(&mgr->wkstatecond, &mgr->lock); } -- GitLab