From a4c1468ce709c3f1e9681e046f1d0d5cdafae668 Mon Sep 17 00:00:00 2001 From: Vera Xia Date: Mon, 27 Jan 2025 16:02:29 -0800 Subject: [PATCH] revert cancel changes --- source/darwin/nw_socket.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/source/darwin/nw_socket.c b/source/darwin/nw_socket.c index 0c6568b08..88ce802ea 100644 --- a/source/darwin/nw_socket.c +++ b/source/darwin/nw_socket.c @@ -381,16 +381,6 @@ static void s_socket_internal_destroy(void *sock_ptr) { struct nw_socket *nw_socket = sock_ptr; AWS_LOGF_DEBUG(AWS_LS_IO_SOCKET, "id=%p : start s_socket_internal_destroy", (void *)sock_ptr); - /* disable the handlers. We already know it closed and don't need pointless use-after-free event/async hell*/ - if (nw_socket->is_listener && nw_socket->nw_listener != NULL) { - // nw_listener_set_state_changed_handler(nw_socket->nw_listener, NULL); - nw_listener_cancel(nw_socket->nw_listener); - } else if (nw_socket->nw_connection != NULL) { - /* Setting to NULL removes previously set handler from nw_connection_t */ - // nw_connection_set_state_changed_handler(nw_socket->nw_connection, NULL); - nw_connection_cancel(nw_socket->nw_connection); - } - aws_ref_count_release(&nw_socket->ref_count); } @@ -1523,6 +1513,16 @@ static int s_socket_close_fn(struct aws_socket *socket) { nw_socket->timeout_args->cancelled = true; s_schedule_cancel_task(nw_socket, &nw_socket->timeout_args->task); } + + /* disable the handlers. We already know it closed and don't need pointless use-after-free event/async hell*/ + if (nw_socket->is_listener && nw_socket->nw_listener != NULL) { + // nw_listener_set_state_changed_handler(nw_socket->nw_listener, NULL); + nw_listener_cancel(nw_socket->nw_listener); + } else if (nw_socket->nw_connection != NULL) { + /* Setting to NULL removes previously set handler from nw_connection_t */ + // nw_connection_set_state_changed_handler(nw_socket->nw_connection, NULL); + nw_connection_cancel(nw_socket->nw_connection); + } } socket->state = CLOSING;