2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-31 06:25:31 +00:00

4629. [bug] dns_client_startupdate could not be called with a

running client. [RT #45277]
This commit is contained in:
Mark Andrews
2017-05-30 09:47:41 +10:00
parent f8d33c2b2a
commit e51d62ecae
6 changed files with 43 additions and 5 deletions

View File

@@ -2978,6 +2978,17 @@ dns_client_startupdate(dns_client_t *client, dns_rdataclass_t rdclass,
*transp = (dns_clientupdatetrans_t *)uctx;
result = isc_app_ctxonrun(client->actx, client->mctx, client->task,
startupdate, uctx);
if (result == ISC_R_ALREADYRUNNING) {
isc_event_t *event;
event = isc_event_allocate(client->mctx, dns_client_startupdate,
DNS_EVENT_STARTUPDATE, startupdate,
uctx, sizeof(*event));
if (event != NULL) {
result = ISC_R_SUCCESS;
isc_task_send(task, &event);
} else
result = ISC_R_NOMEMORY;
}
if (result == ISC_R_SUCCESS)
return (result);
*transp = NULL;