From: Daniel Salzman Date: Thu, 30 Jun 2022 12:24:31 +0000 (+0200) Subject: zone: purge 'timers.catalog_member' only if catalog filter is specified X-Git-Tag: v3.3.dev~82^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0fccd0f5d28fa7fa11bc3a0866b61a097acb521d;p=thirdparty%2Fknot-dns.git zone: purge 'timers.catalog_member' only if catalog filter is specified --- diff --git a/src/knot/zone/zone.c b/src/knot/zone/zone.c index e456ac678c..18bd80ed99 100644 --- a/src/knot/zone/zone.c +++ b/src/knot/zone/zone.c @@ -278,7 +278,9 @@ int selective_zone_purge(conf_t *conf, zone_t *zone, purge_flag_t params) // Purge the zone timers. if (params & PURGE_ZONE_TIMERS) { - memset(&zone->timers, 0, sizeof(zone->timers)); + zone->timers = (zone_timers_t) { + .catalog_member = zone->timers.catalog_member + }; ret = zone_timers_sweep(&zone->server->timerdb, (sweep_cb)knot_dname_cmp, zone->name); RETURN_IF_FAILED("timers", KNOT_ENOENT); @@ -314,6 +316,7 @@ int selective_zone_purge(conf_t *conf, zone_t *zone, purge_flag_t params) // Purge Catalog. if (params & PURGE_ZONE_CATALOG) { + zone->timers.catalog_member = 0; ret = catalog_zone_purge(zone->server, conf, zone->name); RETURN_IF_FAILED("catalog", KNOT_EOK); }