diff options
| author | Dan Gohman <dev@sunfishcode.online> | 2021-09-09 14:44:54 -0700 |
|---|---|---|
| committer | Dan Gohman <dev@sunfishcode.online> | 2021-09-09 14:44:54 -0700 |
| commit | 622dfcceb9328b359e28adaec8192390e494ca1e (patch) | |
| tree | 42b83f5d982e1209b8f822cff767930b766ae31a | |
| parent | 18c14add399c35153883f8b84a2e11a7c22f6721 (diff) | |
| download | rust-622dfcceb9328b359e28adaec8192390e494ca1e.tar.gz rust-622dfcceb9328b359e28adaec8192390e494ca1e.zip | |
Fix Windows compilation errors.
| -rw-r--r-- | library/std/src/os/windows/io/handle.rs | 3 | ||||
| -rw-r--r-- | library/std/src/os/windows/io/socket.rs | 11 | ||||
| -rw-r--r-- | library/std/src/sys/windows/fs.rs | 2 | ||||
| -rw-r--r-- | library/std/src/sys/windows/net.rs | 2 |
4 files changed, 13 insertions, 5 deletions
diff --git a/library/std/src/os/windows/io/handle.rs b/library/std/src/os/windows/io/handle.rs index 64c37615114..92c5f49e58a 100644 --- a/library/std/src/os/windows/io/handle.rs +++ b/library/std/src/os/windows/io/handle.rs @@ -7,6 +7,7 @@ use crate::convert::TryFrom; use crate::ffi::c_void; use crate::fmt; use crate::fs; +use crate::io; use crate::marker::PhantomData; use crate::mem::forget; use crate::ptr::NonNull; @@ -114,7 +115,7 @@ impl BorrowedHandle<'_> { impl OwnedHandle { /// Creates a new `OwnedHandle` instance that shares the same underlying file handle /// as the existing `OwnedHandle` instance. - pub fn try_clone(&self) -> crate::io::Result<FileDesc> { + pub fn try_clone(&self) -> crate::io::Result<Self> { let handle = self.duplicate(0, false, c::DUPLICATE_SAME_ACCESS)?; Ok(unsafe { OwnedHandle::from_raw_handle(handle) }) diff --git a/library/std/src/os/windows/io/socket.rs b/library/std/src/os/windows/io/socket.rs index 9e27ead90fb..0d776434047 100644 --- a/library/std/src/os/windows/io/socket.rs +++ b/library/std/src/os/windows/io/socket.rs @@ -4,7 +4,9 @@ use super::raw::{AsRawSocket, FromRawSocket, IntoRawSocket, RawSocket}; use crate::fmt; +use crate::io; use crate::marker::PhantomData; +use crate::mem; use crate::mem::forget; use crate::sys::c; use crate::sys::cvt; @@ -91,7 +93,7 @@ impl OwnedSocket { }; if socket != c::INVALID_SOCKET { - unsafe { Ok(Self::from_inner(OwnedSocket::from_raw_socket(socket))) } + unsafe { Ok(Self(OwnedSocket::from_raw_socket(socket))) } } else { let error = unsafe { c::WSAGetLastError() }; @@ -115,7 +117,7 @@ impl OwnedSocket { } unsafe { - let socket = Self::from_inner(OwnedSocket::from_raw_socket(socket)); + let socket = Self(OwnedSocket::from_raw_socket(socket)); socket.set_no_inherit()?; Ok(socket) } @@ -123,6 +125,11 @@ impl OwnedSocket { } } +/// Returns the last error from the Windows socket interface. +fn last_error() -> io::Error { + io::Error::from_raw_os_error(unsafe { c::WSAGetLastError() }) +} + impl AsRawSocket for BorrowedSocket<'_> { #[inline] fn as_raw_socket(&self) -> RawSocket { diff --git a/library/std/src/sys/windows/fs.rs b/library/std/src/sys/windows/fs.rs index 08ff35361f4..34455b7e316 100644 --- a/library/std/src/sys/windows/fs.rs +++ b/library/std/src/sys/windows/fs.rs @@ -455,7 +455,7 @@ impl File { } pub fn duplicate(&self) -> io::Result<File> { - Ok(Self(self.0.try_clone()?)) + Ok(Self { handle: self.handle.try_clone()? }) } fn reparse_point<'a>( diff --git a/library/std/src/sys/windows/net.rs b/library/std/src/sys/windows/net.rs index 681875985bd..39417baebd4 100644 --- a/library/std/src/sys/windows/net.rs +++ b/library/std/src/sys/windows/net.rs @@ -208,7 +208,7 @@ impl Socket { } pub fn duplicate(&self) -> io::Result<Socket> { - Ok(Self(self.0.duplicate()?)) + Ok(Self(self.0.try_clone()?)) } fn recv_with_flags(&self, buf: &mut [u8], flags: c_int) -> io::Result<usize> { |
