2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-09-05 00:55:24 +00:00

[master] isc__taskmgr_pause() could deadlock

4271.	[test]		Unit tests could deadlock in isc__taskmgr_pause().
			[RT #41235]
This commit is contained in:
Evan Hunt
2015-12-03 20:49:28 -08:00
parent 2ba8603ca9
commit 226dd20bbd
2 changed files with 4 additions and 3 deletions

View File

@@ -15,8 +15,6 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id$ */
/*! \file
* \author Principal Author: Bob Halley
*/
@@ -1665,11 +1663,11 @@ isc__taskmgr_dispatch(isc_taskmgr_t *manager0) {
void
isc__taskmgr_pause(isc_taskmgr_t *manager0) {
isc__taskmgr_t *manager = (isc__taskmgr_t *)manager0;
manager->pause_requested = ISC_TRUE;
LOCK(&manager->lock);
while (manager->tasks_running > 0) {
WAIT(&manager->paused, &manager->lock);
}
manager->pause_requested = ISC_TRUE;
UNLOCK(&manager->lock);
}