From e0e9594f710aacf33eee9be45c6bdfcb977cc07f Mon Sep 17 00:00:00 2001 From: Yuya Nishihara Date: Thu, 27 Sep 2018 21:49:53 +0900 Subject: [PATCH] process: Implement AsRawFd for ChildStd* structs --- src/lib.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index ff5c5077b..e6618a747 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -619,3 +619,27 @@ impl Read for ChildStderr { impl AsyncRead for ChildStderr { } + +#[cfg(unix)] +mod sys { + use std::os::unix::io::{AsRawFd, RawFd}; + use super::{ChildStdin, ChildStdout, ChildStderr}; + + impl AsRawFd for ChildStdin { + fn as_raw_fd(&self) -> RawFd { + self.inner.get_ref().as_raw_fd() + } + } + + impl AsRawFd for ChildStdout { + fn as_raw_fd(&self) -> RawFd { + self.inner.get_ref().as_raw_fd() + } + } + + impl AsRawFd for ChildStderr { + fn as_raw_fd(&self) -> RawFd { + self.inner.get_ref().as_raw_fd() + } + } +}