diff options
author | Nikolai Vazquez <hello@nikolaivazquez.com> | 2020-08-28 03:53:51 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-28 09:53:51 +0200 |
commit | 827077409c8a8ef7adb4d05d522fcf6c1949c876 (patch) | |
tree | 3d843322074068d69c66c1df9d564c8b0d439f33 /tokio/src/fs | |
parent | d600ab9a8f37e9eff3fa8587069a816b65b6da0b (diff) |
fs: implement FromRawFd & FromRawHandle for File (#2792)
Diffstat (limited to 'tokio/src/fs')
-rw-r--r-- | tokio/src/fs/file.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tokio/src/fs/file.rs b/tokio/src/fs/file.rs index 2c36806d..b801ba99 100644 --- a/tokio/src/fs/file.rs +++ b/tokio/src/fs/file.rs @@ -778,9 +778,23 @@ impl std::os::unix::io::AsRawFd for File { } } +#[cfg(unix)] +impl std::os::unix::io::FromRawFd for File { + unsafe fn from_raw_fd(fd: std::os::unix::io::RawFd) -> Self { + sys::File::from_raw_fd(fd).into() + } +} + #[cfg(windows)] impl std::os::windows::io::AsRawHandle for File { fn as_raw_handle(&self) -> std::os::windows::io::RawHandle { self.std.as_raw_handle() } } + +#[cfg(windows)] +impl std::os::windows::io::FromRawHandle for File { + unsafe fn from_raw_handle(handle: std::os::windows::io::RawHandle) -> Self { + sys::File::from_raw_handle(handle).into() + } +} |