diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-06-02 23:50:22 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-06-02 23:50:22 +0300 |
| commit | 01fc5bc7b547464122a0e390d9cdb4ab2e20da68 (patch) | |
| tree | 62aa91ecf97bb618c059100edec5fedd61685eb2 /src/session.rs | |
| parent | 3503209b0328e86a147db1b9928fa92764ad693e (diff) | |
fix: tolerate macos socket timeout setup failure
Diffstat (limited to 'src/session.rs')
| -rw-r--r-- | src/session.rs | 15 |
1 files changed, 11 insertions, 4 deletions
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)?; |
