From cd98afcd6e817913205bf56f8f82234f0a06c2a7 Mon Sep 17 00:00:00 2001 From: Xie Han <63350856@qq.com> Date: Fri, 1 Mar 2024 19:19:20 +0800 Subject: [PATCH] Restore poller's 'accept' failed behavior. --- src/kernel/Communicator.cc | 1 + src/kernel/poller.c | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/kernel/Communicator.cc b/src/kernel/Communicator.cc index d43fcf1e..d81fc5e5 100644 --- a/src/kernel/Communicator.cc +++ b/src/kernel/Communicator.cc @@ -1374,6 +1374,7 @@ void *Communicator::accept(const struct sockaddr *addr, socklen_t addrlen, delete target; } + close(sockfd); return NULL; } diff --git a/src/kernel/poller.c b/src/kernel/poller.c index 6dff7250..4da9db9d 100644 --- a/src/kernel/poller.c +++ b/src/kernel/poller.c @@ -602,10 +602,7 @@ static void __poller_handle_listen(struct __poller_node *node, result = node->data.accept(addr, addrlen, sockfd, node->data.context); if (!result) - { - close(sockfd); break; - } res->data = node->data; res->data.result = result;