2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-31 14:35:26 +00:00

[master] fix theoretical shutdown race

4226.	[bug]		Address a theoretical shutdown race in
			zone.c:notify_send_queue(). [RT #38958]
This commit is contained in:
Evan Hunt
2015-09-29 15:27:12 -07:00
parent 87e7d08a8b
commit 40c619daee
2 changed files with 8 additions and 1 deletions

View File

@@ -1,3 +1,6 @@
4226. [bug] Address a theoretical shutdown race in
zone.c:notify_send_queue(). [RT #38958]
4225. [port] freebsd/openbsd: Use '${CC} -shared' for building
shared libraries. [RT #39557]

View File

@@ -10518,6 +10518,9 @@ notify_send(dns_notify_t *notify) {
REQUIRE(DNS_NOTIFY_VALID(notify));
REQUIRE(LOCKED_ZONE(notify->zone));
if (DNS_ZONE_FLAG(notify->zone, DNS_ZONEFLG_EXITING))
return;
for (ai = ISC_LIST_HEAD(notify->find->list);
ai != NULL;
ai = ISC_LIST_NEXT(ai, publink)) {
@@ -10593,7 +10596,8 @@ zone_notify(dns_zone_t *zone, isc_time_t *now) {
DNS_ZONE_TIME_ADD(now, zone->notifydelay, &zone->notifytime);
UNLOCK_ZONE(zone);
if (! DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADED))
if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_EXITING) ||
! DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADED))
return;
if (notifytype == dns_notifytype_no)