From 6be2e95a0d3dac56a06cec59a53ddab444efba6e Mon Sep 17 00:00:00 2001 From: Jeong YunWon Date: Wed, 31 Dec 2025 12:18:16 +0900 Subject: [PATCH] fix concurrent socket close --- crates/stdlib/src/socket.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/stdlib/src/socket.rs b/crates/stdlib/src/socket.rs index a37a4fd241d..ea5f39cb40d 100644 --- a/crates/stdlib/src/socket.rs +++ b/crates/stdlib/src/socket.rs @@ -2107,9 +2107,9 @@ mod _socket { #[pymethod] fn close(&self) -> io::Result<()> { - let sock = self.detach(); - if sock != INVALID_SOCKET as i64 { - close_inner(sock as RawSocket)?; + let sock = self.sock.write().take(); + if let Some(sock) = sock { + close_inner(into_sock_fileno(sock))?; } Ok(()) }