1
1
mirror of https://github.com/wez/wezterm.git synced 2024-08-17 02:00:25 +03:00

add docs for as_stdio

This commit is contained in:
Wez Furlong 2019-05-19 09:14:40 -07:00
parent 143617155e
commit ee9b5c7a68
3 changed files with 12 additions and 2 deletions

View File

@ -109,6 +109,14 @@ impl FileDescriptor {
pub fn try_clone(&self) -> Fallible<Self> {
self.handle.try_clone().map(|handle| Self { handle })
}
/// A convenience method for creating a `std::process::Stdio` object
/// to be used for eg: redirecting the stdio streams of a child
/// process. The `Stdio` is created using a duplicated handle so
/// that the source handle remains alive.
pub fn as_stdio(&self) -> Fallible<std::process::Stdio> {
self.as_stdio_impl()
}
}
pub struct Pipes {

View File

@ -161,7 +161,8 @@ impl FileDescriptor {
}
}
pub fn as_stdio(&self) -> Fallible<std::process::Stdio> {
#[inline]
pub(crate) fn as_stdio_impl(&self) -> Fallible<std::process::Stdio> {
let duped = OwnedHandle::dup(self)?;
let fd = duped.into_raw_fd();
let stdio = unsafe { std::process::Stdio::from_raw_fd(fd) };

View File

@ -97,7 +97,8 @@ impl IntoRawHandle for OwnedHandle {
}
impl FileDescriptor {
pub fn as_stdio(&self) -> Fallible<std::process::Stdio> {
#[inline]
pub(crate) fn as_stdio_impl(&self) -> Fallible<std::process::Stdio> {
let duped = self.handle.try_clone()?;
let handle = duped.into_raw_handle();
let stdio = unsafe { std::process::Stdio::from_raw_handle(handle) };