summaryrefslogtreecommitdiffstats
path: root/tokio/src/fs/file.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tokio/src/fs/file.rs')
-rw-r--r--tokio/src/fs/file.rs14
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()
+ }
+}