From: Mark Andrews Date: Wed, 29 May 2013 08:02:24 +0000 (+1000) Subject: 3576. [bug] Address a shutdown race when validating. [RT #33573] X-Git-Tag: v9.10.0a1~329 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=2cd3c8856c97b770cc4843bfad63922e23a6f661;p=thirdparty%2Fbind9.git 3576. [bug] Address a shutdown race when validating. [RT #33573] --- diff --git a/CHANGES b/CHANGES index f824667db7f..4a411d69bf4 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,5 @@ +3576. [bug] Address a shutdown race when validating. [RT #33573] + 3575. [func] Changed the logging category for RRL events from 'queries' to 'query-errors'. [RT #33540] diff --git a/lib/dns/validator.c b/lib/dns/validator.c index d04954a59c3..2f4671b8f6a 100644 --- a/lib/dns/validator.c +++ b/lib/dns/validator.c @@ -3713,7 +3713,7 @@ dns_validator_create(dns_view_t *view, dns_name_t *name, dns_rdatatype_t type, if (val == NULL) return (ISC_R_NOMEMORY); val->view = NULL; - dns_view_weakattach(view, &val->view); + dns_view_attach(view, &val->view); event = (dns_validatorevent_t *) isc_event_allocate(view->mctx, task, @@ -3787,7 +3787,7 @@ dns_validator_create(dns_view_t *view, dns_name_t *name, dns_rdatatype_t type, isc_event_free(ISC_EVENT_PTR(&event)); cleanup_val: - dns_view_weakdetach(&val->view); + dns_view_detach(&val->view); isc_mem_put(view->mctx, val, sizeof(*val)); return (result); @@ -3867,7 +3867,7 @@ destroy(dns_validator_t *val) { if (val->siginfo != NULL) isc_mem_put(mctx, val->siginfo, sizeof(*val->siginfo)); DESTROYLOCK(&val->lock); - dns_view_weakdetach(&val->view); + dns_view_detach(&val->view); val->magic = 0; isc_mem_put(mctx, val, sizeof(*val)); }