From 08b625787bf311e5d9d4455bcf92ecec49db7857 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Tue, 3 Mar 2020 10:50:06 +1100 Subject: [PATCH] Restart zone maintenance if it had been stalled. (cherry picked from commit f171347b5f27c1b0dfe1ef935512b20a820901c9) --- lib/dns/zone.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/dns/zone.c b/lib/dns/zone.c index 88f56eb481..9bca77a03c 100644 --- a/lib/dns/zone.c +++ b/lib/dns/zone.c @@ -5128,6 +5128,14 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, DNS_ZONE_FLAG(zone->secure, DNS_ZONEFLG_LOADED)) { DNS_ZONE_CLRFLAG(zone->secure, DNS_ZONEFLG_LOADPENDING); + /* + * Re-start zone maintenance if it had been stalled + * due to DNS_ZONEFLG_LOADPENDING being set when + * zone_maintenance was called. + */ + if (zone->secure->task != NULL) { + zone_settimer(zone->secure, &now); + } } zone_debuglog(zone, "zone_postload", 99, "done");