diff options
author | Zach Reizner <zachr@google.com> | 2018-02-02 18:02:25 -0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-02-06 18:18:39 -0800 |
commit | a912b2cf76a78d3331e32679d474e621622e5060 (patch) | |
tree | d67c203fb97f29f56079642f13ec7456f819085c | |
parent | 5c984f9d019284d33091b26de3501c83000ad2a8 (diff) | |
download | crosvm-a912b2cf76a78d3331e32679d474e621622e5060.tar crosvm-a912b2cf76a78d3331e32679d474e621622e5060.tar.gz crosvm-a912b2cf76a78d3331e32679d474e621622e5060.tar.bz2 crosvm-a912b2cf76a78d3331e32679d474e621622e5060.tar.lz crosvm-a912b2cf76a78d3331e32679d474e621622e5060.tar.xz crosvm-a912b2cf76a78d3331e32679d474e621622e5060.tar.zst crosvm-a912b2cf76a78d3331e32679d474e621622e5060.zip |
sys_util: implement IntoRawFd for EventFd
This is used in the plugin process implementation, and it makes sense that EventFd should have all the RawFd related traits. TEST=./build_test BUG=chromium:800626 Change-Id: Ic96623e169e4d9584a082628c1540ca6de709a16 Reviewed-on: https://chromium-review.googlesource.com/900488 Commit-Ready: Zach Reizner <zachr@chromium.org> Tested-by: Zach Reizner <zachr@chromium.org> Reviewed-by: Dylan Reid <dgreid@chromium.org>
-rw-r--r-- | sys_util/src/eventfd.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sys_util/src/eventfd.rs b/sys_util/src/eventfd.rs index ffdfadb..c253f6d 100644 --- a/sys_util/src/eventfd.rs +++ b/sys_util/src/eventfd.rs @@ -4,7 +4,7 @@ use std::mem; use std::fs::File; -use std::os::unix::io::{AsRawFd, FromRawFd, RawFd}; +use std::os::unix::io::{AsRawFd, FromRawFd, IntoRawFd, RawFd}; use libc::{read, write, eventfd, dup, c_void}; @@ -91,6 +91,12 @@ impl FromRawFd for EventFd { } } +impl IntoRawFd for EventFd { + fn into_raw_fd(self) -> RawFd { + self.eventfd.into_raw_fd() + } +} + unsafe impl ::Pollable for EventFd { fn pollable_fd(&self) -> RawFd { self.eventfd.as_raw_fd() |