mirror of
https://github.com/isc-projects/bind9.git
synced 2026-02-26 03:11:56 -05:00
Call the isc__nm_failed_connect_cb() early when shutting down
When shutting down, calling the isc__nm_failed_connect_cb() was delayed until the connect callback would be called. It turned out that the connect callback might not get called at all when the socket is being shut down. Call the failed_connect_cb() directly in the tlsdns_shutdown() instead of waiting for the connect callback to call it.
This commit is contained in:
parent
73c574e553
commit
e4b0730387
1 changed files with 6 additions and 6 deletions
|
|
@ -760,7 +760,7 @@ isc__nm_tlsdns_failed_read_cb(isc_nmsocket_t *sock, isc_result_t result) {
|
|||
isc__nmsocket_timer_stop(sock);
|
||||
isc__nm_stop_reading(sock);
|
||||
|
||||
if (sock->tls.pending_req) {
|
||||
if (sock->tls.pending_req != NULL) {
|
||||
isc__nm_uvreq_t *req = sock->tls.pending_req;
|
||||
sock->tls.pending_req = NULL;
|
||||
isc__nm_failed_connect_cb(sock, req, ISC_R_CANCELED);
|
||||
|
|
@ -1835,16 +1835,16 @@ isc__nm_tlsdns_shutdown(isc_nmsocket_t *sock) {
|
|||
return;
|
||||
}
|
||||
|
||||
if (atomic_load(&sock->connecting) || sock->accepting) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (sock->tls.pending_req) {
|
||||
if (sock->tls.pending_req != NULL) {
|
||||
isc__nm_uvreq_t *req = sock->tls.pending_req;
|
||||
sock->tls.pending_req = NULL;
|
||||
isc__nm_failed_connect_cb(sock, req, ISC_R_CANCELED);
|
||||
}
|
||||
|
||||
if (atomic_load(&sock->connecting) || sock->accepting) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (sock->statichandle) {
|
||||
isc__nm_failed_read_cb(sock, ISC_R_CANCELED);
|
||||
return;
|
||||
|
|
|
|||
Loading…
Reference in a new issue