mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-28 04:34:54 -04:00
Merge branch '2258-xfrin-shutdown-race' into 'main'
address some possible shutdown races in xfrin Closes #2258 See merge request isc-projects/bind9!4374
This commit is contained in:
commit
45f1df5412
3 changed files with 7 additions and 4 deletions
|
|
@ -10004,7 +10004,7 @@ named_server_create(isc_mem_t *mctx, named_server_t **serverp) {
|
|||
&server->in_roothints),
|
||||
"setting up root hints");
|
||||
|
||||
atomic_store(&server->reload_status, NAMED_RELOAD_IN_PROGRESS);
|
||||
atomic_init(&server->reload_status, NAMED_RELOAD_IN_PROGRESS);
|
||||
|
||||
/*
|
||||
* Setup the server task, which is responsible for coordinating
|
||||
|
|
|
|||
|
|
@ -937,7 +937,7 @@ xfrin_connect_done(isc_nmhandle_t *handle, isc_result_t result, void *cbarg) {
|
|||
TIME_NOW(&now);
|
||||
dns_zonemgr_unreachableadd(zmgr, &xfr->masteraddr,
|
||||
&xfr->sourceaddr, &now);
|
||||
goto failure;
|
||||
CHECK(result);
|
||||
} else {
|
||||
dns_zonemgr_unreachabledel(zmgr, &xfr->masteraddr,
|
||||
&xfr->sourceaddr);
|
||||
|
|
@ -959,9 +959,10 @@ xfrin_connect_done(isc_nmhandle_t *handle, isc_result_t result, void *cbarg) {
|
|||
signer);
|
||||
|
||||
CHECK(xfrin_send_request(xfr));
|
||||
isc_nmhandle_detach(&handle);
|
||||
|
||||
failure:
|
||||
isc_nmhandle_detach(&handle);
|
||||
|
||||
if (result != ISC_R_SUCCESS && result != ISC_R_SHUTTINGDOWN) {
|
||||
xfrin_fail(xfr, result, "failed to connect");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -98,7 +98,9 @@ dnstcp_readtimeout(uv_timer_t *timer) {
|
|||
REQUIRE(sock->tid == isc_nm_tid());
|
||||
|
||||
/* Close the TCP connection; its closure should fire ours. */
|
||||
isc_nmhandle_detach(&sock->outerhandle);
|
||||
if (sock->outerhandle != NULL) {
|
||||
isc_nmhandle_detach(&sock->outerhandle);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
Loading…
Reference in a new issue