about summary refs log tree commit diff
path: root/src/libstd/sys/windows
diff options
context:
space:
mode:
authorSteven Fackler <sfackler@gmail.com>2016-01-20 21:24:23 -0800
committerSteven Fackler <sfackler@gmail.com>2016-02-04 09:43:21 +0000
commita414b61f9279b2806ab92ec17cdd19cf57d59e2f (patch)
treeb92f8590ad093e70df66c45afce1f79b8daeb70f /src/libstd/sys/windows
parent51108b64ca3c84d9973736e6b9e094e79c12dc60 (diff)
downloadrust-a414b61f9279b2806ab92ec17cdd19cf57d59e2f.tar.gz
rust-a414b61f9279b2806ab92ec17cdd19cf57d59e2f.zip
Add File::try_clone
Diffstat (limited to 'src/libstd/sys/windows')
-rw-r--r--src/libstd/sys/windows/fs.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/libstd/sys/windows/fs.rs b/src/libstd/sys/windows/fs.rs
index 60e3f7c22bd..f5981baf141 100644
--- a/src/libstd/sys/windows/fs.rs
+++ b/src/libstd/sys/windows/fs.rs
@@ -338,6 +338,12 @@ impl File {
         Ok(newpos as u64)
     }
 
+    pub fn duplicate(&self) -> io::Result<File> {
+        Ok(File {
+            handle: try!(self.handle.duplicate(0, true, c::DUPLICATE_SAME_ACCESS)),
+        })
+    }
+
     pub fn handle(&self) -> &Handle { &self.handle }
 
     pub fn into_handle(self) -> Handle { self.handle }