Add set_inheritable for Windows Handles
This commit is contained in:
parent
7417110cef
commit
b89b056742
2 changed files with 16 additions and 0 deletions
|
|
@ -198,6 +198,18 @@ impl OwnedHandle {
|
|||
})?;
|
||||
unsafe { Ok(Self::from_raw_handle(ret)) }
|
||||
}
|
||||
|
||||
/// Allow child processes to inherit the handle.
|
||||
pub(crate) fn set_inheritable(&self) -> io::Result<()> {
|
||||
cvt(unsafe {
|
||||
c::SetHandleInformation(
|
||||
self.as_raw_handle(),
|
||||
c::HANDLE_FLAG_INHERIT,
|
||||
c::HANDLE_FLAG_INHERIT,
|
||||
)
|
||||
})?;
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
impl TryFrom<HandleOrInvalid> for OwnedHandle {
|
||||
|
|
|
|||
|
|
@ -221,6 +221,10 @@ impl Handle {
|
|||
Ok(Self(self.0.duplicate(access, inherit, options)?))
|
||||
}
|
||||
|
||||
pub(crate) fn set_inheritable(&self) -> io::Result<()> {
|
||||
self.0.set_inheritable()
|
||||
}
|
||||
|
||||
/// Performs a synchronous read.
|
||||
///
|
||||
/// If the handle is opened for asynchronous I/O then this abort the process.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue