static void
ns_client_endrequest(ns_client_t *client) {
- INSIST(client->nupdates == 0);
INSIST(client->state == NS_CLIENTSTATE_WORKING ||
client->state == NS_CLIENTSTATE_RECURSING);
event->zone = zone;
event->result = ISC_R_SUCCESS;
- INSIST(client->nupdates == 0);
- client->nupdates++;
event->ev_arg = client;
isc_nmhandle_attach(client->handle, &client->updatehandle);
REQUIRE(task == client->manager->task);
REQUIRE(client->updatehandle == client->handle);
- INSIST(client->nupdates > 0);
switch (uev->result) {
case ISC_R_SUCCESS:
inc_stats(client, uev->zone, ns_statscounter_updatedone);
dns_zone_detach(&uev->zone);
}
- client->nupdates--;
-
respond(client, uev->result);
isc_event_free(&event);
UNUSED(task);
- INSIST(client->nupdates > 0);
- client->nupdates--;
respond(client, DNS_R_SERVFAIL);
isc_event_free(&event);
isc_nmhandle_detach(&client->updatehandle);
UNUSED(task);
- INSIST(client->nupdates > 0);
- client->nupdates--;
ns_client_sendraw(client, uev->answer);
dns_message_detach(&uev->answer);
isc_event_free(&event);
event->zone = zone;
event->result = ISC_R_SUCCESS;
- INSIST(client->nupdates == 0);
- client->nupdates++;
event->ev_arg = client;
dns_name_format(dns_zone_getorigin(zone), namebuf, sizeof(namebuf));