diff --git a/lib/dns/zone.c b/lib/dns/zone.c index f86da17ed2..0e95ebf1f5 100644 --- a/lib/dns/zone.c +++ b/lib/dns/zone.c @@ -2167,7 +2167,6 @@ zone_asyncload(isc_task_t *task, isc_event_t *event) { dns_asyncload_t *asl = event->ev_arg; dns_zone_t *zone = asl->zone; isc_result_t result; - isc_boolean_t load_pending; UNUSED(task); @@ -2175,17 +2174,8 @@ zone_asyncload(isc_task_t *task, isc_event_t *event) { isc_event_free(&event); - /* Make sure load is still pending */ LOCK_ZONE(zone); - load_pending = ISC_TF(DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADPENDING)); - - if (!load_pending) { - UNLOCK_ZONE(zone); - goto cleanup; - } - result = zone_load(zone, 0, ISC_TRUE); - if (result != DNS_R_CONTINUE) { DNS_ZONE_CLRFLAG(zone, DNS_ZONEFLG_LOADPENDING); } @@ -2195,7 +2185,6 @@ zone_asyncload(isc_task_t *task, isc_event_t *event) { if (asl->loaded != NULL) (asl->loaded)(asl->loaded_arg, zone, task); - cleanup: isc_mem_put(zone->mctx, asl, sizeof (*asl)); dns_zone_idetach(&zone); }