]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
[master] isc__taskmgr_pause() could deadlock
authorEvan Hunt <each@isc.org>
Fri, 4 Dec 2015 04:49:28 +0000 (20:49 -0800)
committerEvan Hunt <each@isc.org>
Fri, 4 Dec 2015 04:49:28 +0000 (20:49 -0800)
4271. [test] Unit tests could deadlock in isc__taskmgr_pause().
[RT #41235]

CHANGES
lib/isc/task.c

diff --git a/CHANGES b/CHANGES
index c3c0ebc7dec75ffacb7231387795fe07eba373e0..7a2fb96666c864a5bb0272c5260b543063dda0e2 100644 (file)
--- 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.
 
index e8a0430cbd1760ea8bef8d040c13e907664c694c..ac049a7552840e493713164738fa6fea54bc2af0 100644 (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);
 }