mirror of
https://github.com/isc-projects/bind9.git
synced 2026-02-27 03:51:16 -05:00
While doing code review, it was found that the taskmgr->exiting is set under taskmgr->lock, but accessed under taskmgr->excl_lock in the isc_task_beginexclusive(). Additionally, before the change that moved running the tasks to the netmgr, the task_ready() subrouting of isc_task_detach() would lock mgr->lock, requiring the mgr->excl to be protected mgr->excl_lock to prevent deadlock in the code. After !4918 has been merged, this is no longer true, and we can remove taskmgr->excl_lock and use taskmgr->lock in its stead. Solve both issues by removing the taskmgr->excl_lock and exclusively use taskmgr->lock to protect both taskmgr->excl and taskmgr->exiting which now doesn't need to be atomic_bool, because it's always accessed from within the locked section. |
||
|---|---|---|
| .. | ||
| bind9 | ||
| dns | ||
| irs | ||
| isc | ||
| isccc | ||
| isccfg | ||
| ns | ||
| .gitignore | ||
| Makefile.am | ||
| unit-test-driver.sh.in | ||