pub fn parent_close_all(&mut self) {
        if !self.write_closed {
            self.close_pipe_end(PipeEnd::Write);
            self.write_closed = true;
        }
        if !self.read_closed {
            self.close_pipe_end(PipeEnd::Read);
            self.read_closed = true;
        }
    }
/// A parent doesn't uses the pipes. It just creates the objects and make
/// sure they are transferred into the childs (via fork(). After a child
/// process started and got it's Pipe objects, the parent MUST close
/// it's FDs in order to prevent deadlocks.
A parent doesn't uses the pipes. It just creates the objects and make
sure they are transferred into the childs (via fork(). After a child
process started and got it's Pipe objects, the parent MUST close
it's FDs in order to prevent deadlocks.
A parent doesn ' t uses the pipes . It just creates the objects and make sure they are transferred into the childs ( via fork () . After a child process started and got it ' s Pipe objects the parent MUST close it ' s FDs in order to prevent deadlocks .
pub fn parent_close_all(&mut self) {
        if !self.write_closed {
            self.close_pipe_end(PipeEnd::Write);
            self.write_closed = true;
        }
        if !self.read_closed {
            self.close_pipe_end(PipeEnd::Read);
            self.read_closed = true;
        }
    }
pub fn parent_close_all ( & mut self ) { if ! self . write_closed { self . close_pipe_end ( PipeEnd :: Write ) ; self . write_closed = true ; } if ! self . read_closed { self . close_pipe_end ( PipeEnd :: Read ) ; self . read_closed = true ; } }
A parent doesn't uses the pipes.
A parent doesn ' t uses the pipes .
&mut self
&mut self