mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-15 23:18:53 -04:00
[v9_9] fix theoretical shutdown race
4226. [bug] Address a theoretical shutdown race in zone.c:notify_send_queue(). [RT #38958]
This commit is contained in:
parent
9c5282dd07
commit
1045e8f764
2 changed files with 8 additions and 1 deletions
3
CHANGES
3
CHANGES
|
|
@ -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]
|
||||
|
||||
|
|
|
|||
|
|
@ -10041,6 +10041,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)) {
|
||||
|
|
@ -10116,7 +10119,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)
|
||||
|
|
|
|||
Loading…
Reference in a new issue