mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-19 08:33:44 -04:00
pause and unpause netmgr in isc_nm_destroy to flush all events from worker queues
This commit is contained in:
parent
c7b86d1cac
commit
ef2dff5c7a
1 changed files with 8 additions and 0 deletions
|
|
@ -337,6 +337,14 @@ isc_nm_destroy(isc_nm_t **mgr0) {
|
|||
* Wait for the manager to be dereferenced elsewhere.
|
||||
*/
|
||||
while (isc_refcount_current(&mgr->references) > 1) {
|
||||
/*
|
||||
* Sometimes libuv gets stuck, pausing and unpausing
|
||||
* netmgr goes over all events in async queue for all
|
||||
* the workers, and since it's done only on shutdown it
|
||||
* doesn't cost us anything.
|
||||
*/
|
||||
isc_nm_pause(mgr);
|
||||
isc_nm_resume(mgr);
|
||||
#ifdef WIN32
|
||||
_sleep(1000);
|
||||
#else
|
||||
|
|
|
|||
Loading…
Reference in a new issue