From 3b43262a10acfd991d6cb0261c513ebb1e952087 Mon Sep 17 00:00:00 2001 From: Yuya Nishihara Date: Wed, 26 Sep 2018 23:47:17 +0900 Subject: [PATCH] process: Implement AsRawFd for inner Fd wrappers and use it instead of self.0 --- src/unix.rs | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/unix.rs b/src/unix.rs index db41a361a..1df1dd161 100644 --- a/src/unix.rs +++ b/src/unix.rs @@ -195,6 +195,12 @@ impl io::Write for Fd { } } +impl AsRawFd for Fd where T: AsRawFd { + fn as_raw_fd(&self) -> RawFd { + self.0.as_raw_fd() + } +} + pub type ChildStdin = PollEvented>; pub type ChildStdout = PollEvented>; pub type ChildStderr = PollEvented>; @@ -206,10 +212,10 @@ impl Evented for Fd where T: AsRawFd { interest: Ready, opts: PollOpt) -> io::Result<()> { - EventedFd(&self.0.as_raw_fd()).register(poll, - token, - interest | UnixReady::hup(), - opts) + EventedFd(&self.as_raw_fd()).register(poll, + token, + interest | UnixReady::hup(), + opts) } fn reregister(&self, @@ -218,14 +224,14 @@ impl Evented for Fd where T: AsRawFd { interest: Ready, opts: PollOpt) -> io::Result<()> { - EventedFd(&self.0.as_raw_fd()).reregister(poll, - token, - interest | UnixReady::hup(), - opts) + EventedFd(&self.as_raw_fd()).reregister(poll, + token, + interest | UnixReady::hup(), + opts) } fn deregister(&self, poll: &mio::Poll) -> io::Result<()> { - EventedFd(&self.0.as_raw_fd()).deregister(poll) + EventedFd(&self.as_raw_fd()).deregister(poll) } }