Merge branch '542-prevent-a-race-after-zone-load' into 'master'

Prevent a race after zone load

Closes #542

See merge request isc-projects/bind9!795
This commit is contained in:
Evan Hunt 2018-09-26 22:45:11 -04:00
commit 37e834defc
2 changed files with 11 additions and 2 deletions

View file

@ -1,3 +1,7 @@
5034. [bug] A race between threads could prevent zone maintenance
scheduled immediately after zone load from being
performed. [GL #542]
5033. [bug] When adding NTAs to multiple views using "rndc nta",
the text returned via rndc was incorrectly terminated
after the first line, making it look as if only one

View file

@ -10006,7 +10006,7 @@ zone_maintenance(dns_zone_t *zone) {
const char me[] = "zone_maintenance";
isc_time_t now;
isc_result_t result;
bool dumping;
bool dumping, load_pending;
REQUIRE(DNS_ZONE_VALID(zone));
ENTER;
@ -10014,8 +10014,13 @@ zone_maintenance(dns_zone_t *zone) {
/*
* Are we pending load/reload?
*/
if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADPENDING))
LOCK_ZONE(zone);
load_pending = DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADPENDING);
UNLOCK_ZONE(zone);
if (load_pending) {
return;
}
/*
* Configuring the view of this zone may have