(x: RawSocket)
| 3435 | } |
| 3436 | |
| 3437 | fn close_inner(x: RawSocket) -> io::Result<()> { |
| 3438 | #[cfg(unix)] |
| 3439 | use libc::close; |
| 3440 | #[cfg(windows)] |
| 3441 | use windows_sys::Win32::Networking::WinSock::closesocket as close; |
| 3442 | let ret = unsafe { close(x as _) }; |
| 3443 | if ret < 0 { |
| 3444 | let err = std::io::Error::last_os_error(); |
| 3445 | if err.raw_os_error() != Some(errcode!(ECONNRESET)) { |
| 3446 | return Err(err); |
| 3447 | } |
| 3448 | } |
| 3449 | Ok(()) |
| 3450 | } |
| 3451 | |
| 3452 | enum SocketError { |
| 3453 | HError, |