From e7d8959e1b6fb4d483ebade48aa35686d91110c2 Mon Sep 17 00:00:00 2001 From: Evan Hunt Date: Thu, 3 Dec 2015 20:48:46 -0800 Subject: [PATCH] [v9_10] isc__taskmgr_pause() could deadlock 4271. [test] Unit tests could deadlock in isc__taskmgr_pause(). [RT #41235] --- CHANGES | 3 +++ lib/isc/task.c | 4 +--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGES b/CHANGES index 92eee8437e..a3a5f357cf 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +4271. [test] Unit tests could deadlock in isc__taskmgr_pause(). + [RT #41235] + 4270. [security] Update allowed OpenSSL versions as named is potentially vulnerable to CVE-2015-3193. diff --git a/lib/isc/task.c b/lib/isc/task.c index 416f89c8f7..fe82039246 100644 --- a/lib/isc/task.c +++ b/lib/isc/task.c @@ -15,8 +15,6 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id$ */ - /*! \file * \author Principal Author: Bob Halley */ @@ -1645,11 +1643,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); }