mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-27 12:13:20 -04:00
Separate the locked parts of dns_zone_catz_enable/disable functions
Separate the locked parts of dns_zone_catz_enable() and
dns_zone_catz_disable() functions into static functions. This will
let us perform those tasks from the other parts of the module while
the zone is locked, avoiding one pair of additional unlocking and
locking operations.
(cherry picked from commit 6b937ed5f6)
This commit is contained in:
parent
b7fd46f50a
commit
2d570f7343
1 changed files with 24 additions and 6 deletions
|
|
@ -883,6 +883,10 @@ static inline void
|
|||
zone_attachdb(dns_zone_t *zone, dns_db_t *db);
|
||||
static inline void
|
||||
zone_detachdb(dns_zone_t *zone);
|
||||
static void
|
||||
zone_catz_enable(dns_zone_t *zone, dns_catz_zones_t *catzs);
|
||||
static void
|
||||
zone_catz_disable(dns_zone_t *zone);
|
||||
static isc_result_t
|
||||
default_journal(dns_zone_t *zone);
|
||||
static void
|
||||
|
|
@ -1958,28 +1962,42 @@ dns_zone_rpz_disable_db(dns_zone_t *zone, dns_db_t *db) {
|
|||
zone->rpzs->zones[zone->rpz_num]);
|
||||
}
|
||||
|
||||
void
|
||||
dns_zone_catz_enable(dns_zone_t *zone, dns_catz_zones_t *catzs) {
|
||||
static void
|
||||
zone_catz_enable(dns_zone_t *zone, dns_catz_zones_t *catzs) {
|
||||
REQUIRE(DNS_ZONE_VALID(zone));
|
||||
REQUIRE(catzs != NULL);
|
||||
|
||||
LOCK_ZONE(zone);
|
||||
INSIST(zone->catzs == NULL || zone->catzs == catzs);
|
||||
dns_catz_catzs_set_view(catzs, zone->view);
|
||||
if (zone->catzs == NULL) {
|
||||
dns_catz_catzs_attach(catzs, &zone->catzs);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
dns_zone_catz_enable(dns_zone_t *zone, dns_catz_zones_t *catzs) {
|
||||
REQUIRE(DNS_ZONE_VALID(zone));
|
||||
|
||||
LOCK_ZONE(zone);
|
||||
zone_catz_enable(zone, catzs);
|
||||
UNLOCK_ZONE(zone);
|
||||
}
|
||||
|
||||
static void
|
||||
zone_catz_disable(dns_zone_t *zone) {
|
||||
REQUIRE(DNS_ZONE_VALID(zone));
|
||||
|
||||
if (zone->catzs != NULL) {
|
||||
dns_catz_catzs_detach(&zone->catzs);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
dns_zone_catz_disable(dns_zone_t *zone) {
|
||||
REQUIRE(DNS_ZONE_VALID(zone));
|
||||
|
||||
LOCK_ZONE(zone);
|
||||
if (zone->catzs != NULL) {
|
||||
dns_catz_catzs_detach(&zone->catzs);
|
||||
}
|
||||
zone_catz_disable(zone);
|
||||
UNLOCK_ZONE(zone);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue