From 816496b22114ee7c2c15321c2c6cc4be77fdf822 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Fri, 2 May 2008 04:40:12 +0000 Subject: [PATCH] 2366. [bug] Adb shutdown race. [RT #18021] --- CHANGES | 2 ++ lib/dns/adb.c | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index d5e70ec3be..8fb987754b 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,5 @@ +2366. [bug] Adb shutdown race. [RT #18021] + 2365. [bug] Fix a bug that caused dns_acl_isany() to return spurious results. [RT #18000] diff --git a/lib/dns/adb.c b/lib/dns/adb.c index 320b7264a8..893a7dea24 100644 --- a/lib/dns/adb.c +++ b/lib/dns/adb.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: adb.c,v 1.239 2008/05/01 18:23:07 jinmei Exp $ */ +/* $Id: adb.c,v 1.240 2008/05/02 04:40:12 marka Exp $ */ /*! \file * @@ -1234,7 +1234,7 @@ dec_entry_refcnt(dns_adb_t *adb, dns_adbentry_t *entry, isc_boolean_t lock) { free_adbentry(adb, &entry); if (result) - result =dec_adb_irefcnt(adb); + result = dec_adb_irefcnt(adb); return (result); } @@ -1772,6 +1772,8 @@ shutdown_task(isc_task_t *task, isc_event_t *ev) { INSIST(DNS_ADB_VALID(adb)); isc_event_free(&ev); + LOCK(&adb->lock); + UNLOCK(&adb->lock); destroy(adb); }