summary refs log tree commit diff
diff options
context:
space:
mode:
authorZach Reizner <zachr@google.com>2018-02-02 18:02:25 -0800
committerchrome-bot <chrome-bot@chromium.org>2018-02-06 18:18:39 -0800
commita912b2cf76a78d3331e32679d474e621622e5060 (patch)
treed67c203fb97f29f56079642f13ec7456f819085c
parent5c984f9d019284d33091b26de3501c83000ad2a8 (diff)
downloadcrosvm-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.rs8
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()