@@ -19,13 +19,13 @@ use io::prelude::*;
1919use ffi:: OsStr ;
2020use fmt;
2121use io:: { self , Error , ErrorKind } ;
22- use libc;
2322use path;
2423use sync:: mpsc:: { channel, Receiver } ;
2524use sys:: pipe2:: { self , AnonPipe } ;
2625use sys:: process2:: Command as CommandImp ;
2726use sys:: process2:: Process as ProcessImp ;
2827use sys:: process2:: ExitStatus as ExitStatusImp ;
28+ use sys:: process2:: Stdio as StdioImp2 ;
2929use sys_common:: { AsInner , AsInnerMut } ;
3030use thread;
3131
@@ -229,13 +229,13 @@ impl Command {
229229
230230 fn spawn_inner ( & self , default_io : StdioImp ) -> io:: Result < Child > {
231231 let ( their_stdin, our_stdin) = try!(
232- setup_io ( self . stdin . as_ref ( ) . unwrap_or ( & default_io) , 0 , true )
232+ setup_io ( self . stdin . as_ref ( ) . unwrap_or ( & default_io) , true )
233233 ) ;
234234 let ( their_stdout, our_stdout) = try!(
235- setup_io ( self . stdout . as_ref ( ) . unwrap_or ( & default_io) , 1 , false )
235+ setup_io ( self . stdout . as_ref ( ) . unwrap_or ( & default_io) , false )
236236 ) ;
237237 let ( their_stderr, our_stderr) = try!(
238- setup_io ( self . stderr . as_ref ( ) . unwrap_or ( & default_io) , 2 , false )
238+ setup_io ( self . stderr . as_ref ( ) . unwrap_or ( & default_io) , false )
239239 ) ;
240240
241241 match ProcessImp :: spawn ( & self . inner , their_stdin, their_stdout, their_stderr) {
@@ -328,23 +328,19 @@ impl AsInnerMut<CommandImp> for Command {
328328 fn as_inner_mut ( & mut self ) -> & mut CommandImp { & mut self . inner }
329329}
330330
331- fn setup_io ( io : & StdioImp , fd : libc :: c_int , readable : bool )
332- -> io:: Result < ( Option < AnonPipe > , Option < AnonPipe > ) >
331+ fn setup_io ( io : & StdioImp , readable : bool )
332+ -> io:: Result < ( StdioImp2 , Option < AnonPipe > ) >
333333{
334334 use self :: StdioImp :: * ;
335335 Ok ( match * io {
336- Null => {
337- ( None , None )
338- }
339- Inherit => {
340- ( Some ( AnonPipe :: from_fd ( fd) ) , None )
341- }
336+ Null => ( StdioImp2 :: None , None ) ,
337+ Inherit => ( StdioImp2 :: Inherit , None ) ,
342338 Piped => {
343- let ( reader, writer) = try!( unsafe { pipe2:: anon_pipe ( ) } ) ;
339+ let ( reader, writer) = try!( pipe2:: anon_pipe ( ) ) ;
344340 if readable {
345- ( Some ( reader) , Some ( writer) )
341+ ( StdioImp2 :: Piped ( reader) , Some ( writer) )
346342 } else {
347- ( Some ( writer) , Some ( reader) )
343+ ( StdioImp2 :: Piped ( writer) , Some ( reader) )
348344 }
349345 }
350346 } )
0 commit comments