mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-04 16:45:24 +00:00
[master] fix to change #3647
This commit is contained in:
@@ -4475,12 +4475,9 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime,
|
|||||||
|
|
||||||
static isc_boolean_t
|
static isc_boolean_t
|
||||||
exit_check(dns_zone_t *zone) {
|
exit_check(dns_zone_t *zone) {
|
||||||
|
|
||||||
REQUIRE(LOCKED_ZONE(zone));
|
REQUIRE(LOCKED_ZONE(zone));
|
||||||
|
|
||||||
if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_SHUTDOWN) &&
|
if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_SHUTDOWN) && zone->irefs == 0) {
|
||||||
zone->irefs == 0)
|
|
||||||
{
|
|
||||||
/*
|
/*
|
||||||
* DNS_ZONEFLG_SHUTDOWN can only be set if erefs == 0.
|
* DNS_ZONEFLG_SHUTDOWN can only be set if erefs == 0.
|
||||||
*/
|
*/
|
||||||
@@ -11752,7 +11749,6 @@ zone_shutdown(isc_task_t *task, isc_event_t *event) {
|
|||||||
zone->statelist = NULL;
|
zone->statelist = NULL;
|
||||||
}
|
}
|
||||||
RWUNLOCK(&zone->zmgr->rwlock, isc_rwlocktype_write);
|
RWUNLOCK(&zone->zmgr->rwlock, isc_rwlocktype_write);
|
||||||
dns_zonemgr_releasezone(zone->zmgr, zone);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -11761,6 +11757,10 @@ zone_shutdown(isc_task_t *task, isc_event_t *event) {
|
|||||||
if (zone->xfr != NULL)
|
if (zone->xfr != NULL)
|
||||||
dns_xfrin_shutdown(zone->xfr);
|
dns_xfrin_shutdown(zone->xfr);
|
||||||
|
|
||||||
|
/* Safe to release the zone now */
|
||||||
|
if (zone->zmgr != NULL)
|
||||||
|
dns_zonemgr_releasezone(zone->zmgr, zone);
|
||||||
|
|
||||||
LOCK_ZONE(zone);
|
LOCK_ZONE(zone);
|
||||||
INSIST(zone != zone->raw);
|
INSIST(zone != zone->raw);
|
||||||
if (linked) {
|
if (linked) {
|
||||||
|
Reference in New Issue
Block a user