fn drop(&mut self) {
        // I think this should never be really needed because
        // the parent process calls "parent_close_all" anyway.
        // But it's nice for a proper shutdown of the child processes
        // when they exit.
        if !self.write_closed {
            self.close_pipe_end(PipeEnd::Write)
        }
        if !self.read_closed {
            self.close_pipe_end(PipeEnd::Read)
        }
    }
/// Makes sure all FD's are closed when Pipe is dropped.
Makes sure all FD's are closed when Pipe is dropped.
Makes sure all FD ' s are closed when Pipe is dropped .
fn drop(&mut self) {
        // I think this should never be really needed because
        // the parent process calls "parent_close_all" anyway.
        // But it's nice for a proper shutdown of the child processes
        // when they exit.
        if !self.write_closed {
            self.close_pipe_end(PipeEnd::Write)
        }
        if !self.read_closed {
            self.close_pipe_end(PipeEnd::Read)
        }
    }
fn drop ( & mut self ) { // I think this should never be really needed because // the parent process calls "parent_close_all" anyway. // But it's nice for a proper shutdown of the child processes // when they exit. if ! self . write_closed { self . close_pipe_end ( PipeEnd :: Write ) } if ! self . read_closed { self . close_pipe_end ( PipeEnd :: Read ) } }
Makes sure all FD's are closed when Pipe is dropped.
Makes sure all FD ' s are closed when Pipe is dropped .
&mut self
&mut self