From 5dfa5221d54df64694cb7b2be537d3e30e20d569 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Sat, 14 Jan 2017 13:12:00 +1100 Subject: [PATCH] 4554. [bug] Remove double unlock in dns_dispatchmgr_setudp. [RT #44336] --- CHANGES | 3 +++ lib/dns/dispatch.c | 5 ++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGES b/CHANGES index f3b6a3c9c7..c28d3f6fae 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +4554. [bug] Remove double unlock in dns_dispatchmgr_setudp. + [RT #44336] + 4553. [bug] Named could deadlock there were multiple changes to NSEC/NSEC3 parameters for a zone being processed at the same time. [RT #42770] diff --git a/lib/dns/dispatch.c b/lib/dns/dispatch.c index 383b2a4287..4a7e2d478d 100644 --- a/lib/dns/dispatch.c +++ b/lib/dns/dispatch.c @@ -2077,10 +2077,9 @@ dns_dispatchmgr_setudp(dns_dispatchmgr_t *mgr, } result = isc_mempool_create(mgr->mctx, sizeof(dispsocket_t), &mgr->spool); - if (result != ISC_R_SUCCESS) { - UNLOCK(&mgr->buffer_lock); + if (result != ISC_R_SUCCESS) goto cleanup; - } + isc_mempool_setname(mgr->spool, "dispmgr_spool"); isc_mempool_setmaxalloc(mgr->spool, maxrequests); isc_mempool_setfreemax(mgr->spool, maxrequests);