From 01fc5bc7b547464122a0e390d9cdb4ab2e20da68 Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Tue, 2 Jun 2026 23:50:22 +0300 Subject: fix: tolerate macos socket timeout setup failure --- src/session.rs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/session.rs b/src/session.rs index 2e9b0d12..a4daf5e4 100644 --- a/src/session.rs +++ b/src/session.rs @@ -286,9 +286,11 @@ fn send_stop_request( let Some(write_timeout) = socket_timeout_until(deadline) else { return Ok(None); }; - stream - .set_write_timeout(Some(write_timeout)) - .map_err(|err| err.to_string())?; + if let Err(err) = stream.set_write_timeout(Some(write_timeout)) { + if err.kind() != std::io::ErrorKind::InvalidInput { + return Err(err.to_string()); + } + } let response = send_stop_request_inner(&mut stream, request, deadline); match response { @@ -313,7 +315,12 @@ fn send_stop_request_inner( let Some(read_timeout) = socket_timeout_until(deadline) else { return Ok(None); }; - stream.set_read_timeout(Some(read_timeout))?; + if let Err(err) = stream.set_read_timeout(Some(read_timeout)) { + if err.kind() == std::io::ErrorKind::InvalidInput { + return Ok(None); + } + return Err(err); + } let mut line = String::new(); let bytes_read = BufReader::new(stream).read_line(&mut line)?; -- cgit v1.2.3