* Carry out a zone deletion scheduled by named_server_delzone().
*/
static void
-rmzone(isc_task_t *task, isc_event_t *event) {
- ns_dzctx_t *dz = (ns_dzctx_t *)event->ev_arg;
+rmzone(void *arg) {
+ ns_dzctx_t *dz = (ns_dzctx_t *)arg;
dns_zone_t *zone = NULL, *raw = NULL, *mayberaw = NULL;
dns_catz_zone_t *catz = NULL;
char zonename[DNS_NAME_FORMATSIZE];
REQUIRE(dz != NULL);
- isc_event_free(&event);
-
/* Dig out configuration for this zone */
zone = dz->zone;
view = dns_zone_getview(zone);
}
dns_zone_detach(&zone);
isc_mem_put(named_g_mctx, dz, sizeof(*dz));
- isc_task_detach(&task);
}
/*
const char *ptr;
bool added;
ns_dzctx_t *dz = NULL;
- isc_event_t *dzevent = NULL;
- isc_task_t *task = NULL;
REQUIRE(text != NULL);
/* Send cleanup event */
dz = isc_mem_get(named_g_mctx, sizeof(*dz));
-
- dz->cleanup = cleanup;
- dz->zone = NULL;
+ *dz = (ns_dzctx_t){
+ .cleanup = cleanup,
+ };
dns_zone_attach(zone, &dz->zone);
- dzevent = isc_event_allocate(named_g_mctx, server, NAMED_EVENT_DELZONE,
- rmzone, dz, sizeof(isc_event_t));
-
- dns_zone_gettask(zone, &task);
- isc_task_send(task, &dzevent);
- dz = NULL;
+ isc_async_run(dns_zone_getloop(zone), rmzone, dz);
/* Inform user about cleaning up stub/secondary zone files */
dns_zone_getraw(zone, &raw);
*\li 'dns_zone_secondary'
*/
-void
-dns_zone_gettask(dns_zone_t *zone, isc_task_t **target);
-/*%<
- * Attach '*target' to the zone's task.
- *
- * Requires:
- *\li 'zone' to be valid initialised zone.
- *\li 'zone' to have a task.
- *\li 'target' to be != NULL && '*target' == NULL.
- */
-
void
dns_zone_notify(dns_zone_t *zone);
/*%<
return (&zone->origin);
}
-void
-dns_zone_gettask(dns_zone_t *zone, isc_task_t **target) {
- REQUIRE(DNS_ZONE_VALID(zone));
- isc_task_attach(zone->task, target);
-}
-
void
dns_zone_setidlein(dns_zone_t *zone, uint32_t idlein) {
REQUIRE(DNS_ZONE_VALID(zone));