pub enum PipeId {
Unix(c_int),
Windows(isize, File),
}Expand description
An identifier for a pipe. On Unix a RawFd (a c_int) is sufficient. On Windows both the file descriptor (as an isize) and a duplicated File handle is required. The duplicated file handle is created with inheritance permissions which is required for a subprocess to use the pipe. The duplicate file handle must be kept in scope until the subprocess is started, and it must then be dropped so that the child process has the only reference to it. This enables the child process to close the pipe (with an EOF).
Variants§
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for PipeId
impl !RefUnwindSafe for PipeId
impl Send for PipeId
impl Sync for PipeId
impl Unpin for PipeId
impl UnsafeUnpin for PipeId
impl !UnwindSafe for PipeId
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more