From 24de26f04f6ae42468e751df55a40b4299b5851f Mon Sep 17 00:00:00 2001 From: Bright Chen Date: Tue, 1 Oct 2024 11:17:52 +0800 Subject: [PATCH] Fix Socket check failed with invalid fd of Stream --- src/brpc/socket.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/brpc/socket.cpp b/src/brpc/socket.cpp index 0fcad203ac..0201a97880 100644 --- a/src/brpc/socket.cpp +++ b/src/brpc/socket.cpp @@ -1548,7 +1548,9 @@ void Socket::CheckConnectedAndKeepWrite(int fd, int err, void* data) { butil::fd_guard sockfd(fd); WriteRequest* req = static_cast(data); Socket* s = req->get_socket(); - CHECK_GE(sockfd, 0); + if (NULL == s->_conn) { + CHECK_GE(sockfd, 0); + } if (err == 0 && s->CheckConnected(sockfd) == 0 && s->ResetFileDescriptor(sockfd) == 0) { if (s->CreatedByConnect()) {