From fb874a8a9fc7412ef9b448310be6bb65ceba847c Mon Sep 17 00:00:00 2001 From: Vikram Auradkar Date: Thu, 28 Apr 2022 23:30:39 +0000 Subject: [PATCH] base: Prefer platform independent descriptor over fd BUG=b:213153157 TEST=presubmit Change-Id: Ie697c92fe84beeb8fb91620b4888bc354882d5db Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3615334 Auto-Submit: Vikram Auradkar Tested-by: kokoro Reviewed-by: Daniel Verkamp Commit-Queue: Vikram Auradkar --- base/src/event.rs | 7 ++----- base/src/sys/unix/eventfd.rs | 12 ++++++------ base/src/sys/unix/timer.rs | 3 ++- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/base/src/event.rs b/base/src/event.rs index 71cc580eb6..7593628c82 100644 --- a/base/src/event.rs +++ b/base/src/event.rs @@ -10,9 +10,6 @@ use crate::descriptor::{AsRawDescriptor, FromRawDescriptor, IntoRawDescriptor}; pub use crate::platform::EventReadResult; use crate::{generate_scoped_event, platform::EventFd, RawDescriptor, Result}; -#[cfg(unix)] -use std::os::unix::io::{FromRawFd, IntoRawFd}; - /// See [EventFd](crate::platform::EventFd) for struct- and method-level /// documentation. #[derive(Debug, PartialEq, Eq, Serialize, Deserialize)] @@ -48,13 +45,13 @@ impl AsRawDescriptor for Event { impl FromRawDescriptor for Event { unsafe fn from_raw_descriptor(descriptor: RawDescriptor) -> Self { - Event(EventFd::from_raw_fd(descriptor)) + Event(EventFd::from_raw_descriptor(descriptor)) } } impl IntoRawDescriptor for Event { fn into_raw_descriptor(self) -> RawDescriptor { - self.0.into_raw_fd() + self.0.into_raw_descriptor() } } diff --git a/base/src/sys/unix/eventfd.rs b/base/src/sys/unix/eventfd.rs index 84080acd66..abc7d4fdf3 100644 --- a/base/src/sys/unix/eventfd.rs +++ b/base/src/sys/unix/eventfd.rs @@ -5,7 +5,7 @@ use std::{ mem, ops::Deref, - os::unix::io::{AsRawFd, FromRawFd, IntoRawFd, RawFd}, + os::unix::io::{AsRawFd, RawFd}, ptr, time::Duration, }; @@ -153,16 +153,16 @@ impl AsRawDescriptor for EventFd { } } -impl FromRawFd for EventFd { - unsafe fn from_raw_fd(fd: RawFd) -> Self { +impl FromRawDescriptor for EventFd { + unsafe fn from_raw_descriptor(descriptor: RawDescriptor) -> Self { EventFd { - event_handle: SafeDescriptor::from_raw_descriptor(fd), + event_handle: SafeDescriptor::from_raw_descriptor(descriptor), } } } -impl IntoRawFd for EventFd { - fn into_raw_fd(self) -> RawFd { +impl IntoRawDescriptor for EventFd { + fn into_raw_descriptor(self) -> RawDescriptor { self.event_handle.into_raw_descriptor() } } diff --git a/base/src/sys/unix/timer.rs b/base/src/sys/unix/timer.rs index c7e84e5eb4..c2479ff282 100644 --- a/base/src/sys/unix/timer.rs +++ b/base/src/sys/unix/timer.rs @@ -15,6 +15,7 @@ use sync::Mutex; use libc::{self, clock_getres, timerfd_create, timerfd_settime, CLOCK_MONOTONIC, TFD_CLOEXEC}; use super::{errno_result, EventFd, FakeClock, Result}; +use crate::IntoRawDescriptor; /// A safe wrapper around a Linux timerfd (man 2 timerfd_create). pub struct TimerFd(File); @@ -223,7 +224,7 @@ impl AsRawFd for FakeTimerFd { impl IntoRawFd for FakeTimerFd { fn into_raw_fd(self) -> RawFd { - self.fd.into_raw_fd() + self.fd.into_raw_descriptor() } }