about summary refs log tree commit diff
path: root/src/libstd/sys/windows/process.rs
diff options
context:
space:
mode:
authorDavid LeGare <excaliburhissheath@gmail.com>2017-05-05 20:35:41 -0500
committerDavid LeGare <excaliburhissheath@gmail.com>2017-05-05 20:35:41 -0500
commitd7df6dcd7399e0c49b6008ab3b82c979dba835a6 (patch)
treee2054076d05c9f68a99f235717bd95efb72faaf9 /src/libstd/sys/windows/process.rs
parente406cd1ec9abb77236318db30e362e4654411a1a (diff)
parentf4209651ec4d4455dab4fc3f3a3456a897d9da7f (diff)
Merge remote-tracking branch 'rust-lang/master' into iss29367-windows-docs
Diffstat (limited to 'src/libstd/sys/windows/process.rs')
-rw-r--r--src/libstd/sys/windows/process.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/libstd/sys/windows/process.rs b/src/libstd/sys/windows/process.rs
index 1afb3728c9d..dfbc1b581ee 100644
--- a/src/libstd/sys/windows/process.rs
+++ b/src/libstd/sys/windows/process.rs
@@ -257,8 +257,13 @@ impl Stdio {
             // INVALID_HANDLE_VALUE.
             Stdio::Inherit => {
                 match stdio::get(stdio_id) {
-                    Ok(io) => io.handle().duplicate(0, true,
-                                                    c::DUPLICATE_SAME_ACCESS),
+                    Ok(io) => {
+                        let io = Handle::new(io.handle());
+                        let ret = io.duplicate(0, true,
+                                               c::DUPLICATE_SAME_ACCESS);
+                        io.into_raw();
+                        return ret
+                    }
                     Err(..) => Ok(Handle::new(c::INVALID_HANDLE_VALUE)),
                 }
             }