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 <auradkar@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Commit-Queue: Vikram Auradkar <auradkar@google.com>
This commit is contained in:
Vikram Auradkar 2022-04-28 23:30:39 +00:00 committed by Chromeos LUCI
parent be1cc96549
commit fb874a8a9f
3 changed files with 10 additions and 12 deletions

View file

@ -10,9 +10,6 @@ use crate::descriptor::{AsRawDescriptor, FromRawDescriptor, IntoRawDescriptor};
pub use crate::platform::EventReadResult; pub use crate::platform::EventReadResult;
use crate::{generate_scoped_event, platform::EventFd, RawDescriptor, Result}; 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 /// See [EventFd](crate::platform::EventFd) for struct- and method-level
/// documentation. /// documentation.
#[derive(Debug, PartialEq, Eq, Serialize, Deserialize)] #[derive(Debug, PartialEq, Eq, Serialize, Deserialize)]
@ -48,13 +45,13 @@ impl AsRawDescriptor for Event {
impl FromRawDescriptor for Event { impl FromRawDescriptor for Event {
unsafe fn from_raw_descriptor(descriptor: RawDescriptor) -> Self { unsafe fn from_raw_descriptor(descriptor: RawDescriptor) -> Self {
Event(EventFd::from_raw_fd(descriptor)) Event(EventFd::from_raw_descriptor(descriptor))
} }
} }
impl IntoRawDescriptor for Event { impl IntoRawDescriptor for Event {
fn into_raw_descriptor(self) -> RawDescriptor { fn into_raw_descriptor(self) -> RawDescriptor {
self.0.into_raw_fd() self.0.into_raw_descriptor()
} }
} }

View file

@ -5,7 +5,7 @@
use std::{ use std::{
mem, mem,
ops::Deref, ops::Deref,
os::unix::io::{AsRawFd, FromRawFd, IntoRawFd, RawFd}, os::unix::io::{AsRawFd, RawFd},
ptr, ptr,
time::Duration, time::Duration,
}; };
@ -153,16 +153,16 @@ impl AsRawDescriptor for EventFd {
} }
} }
impl FromRawFd for EventFd { impl FromRawDescriptor for EventFd {
unsafe fn from_raw_fd(fd: RawFd) -> Self { unsafe fn from_raw_descriptor(descriptor: RawDescriptor) -> Self {
EventFd { EventFd {
event_handle: SafeDescriptor::from_raw_descriptor(fd), event_handle: SafeDescriptor::from_raw_descriptor(descriptor),
} }
} }
} }
impl IntoRawFd for EventFd { impl IntoRawDescriptor for EventFd {
fn into_raw_fd(self) -> RawFd { fn into_raw_descriptor(self) -> RawDescriptor {
self.event_handle.into_raw_descriptor() self.event_handle.into_raw_descriptor()
} }
} }

View file

@ -15,6 +15,7 @@ use sync::Mutex;
use libc::{self, clock_getres, timerfd_create, timerfd_settime, CLOCK_MONOTONIC, TFD_CLOEXEC}; use libc::{self, clock_getres, timerfd_create, timerfd_settime, CLOCK_MONOTONIC, TFD_CLOEXEC};
use super::{errno_result, EventFd, FakeClock, Result}; use super::{errno_result, EventFd, FakeClock, Result};
use crate::IntoRawDescriptor;
/// A safe wrapper around a Linux timerfd (man 2 timerfd_create). /// A safe wrapper around a Linux timerfd (man 2 timerfd_create).
pub struct TimerFd(File); pub struct TimerFd(File);
@ -223,7 +224,7 @@ impl AsRawFd for FakeTimerFd {
impl IntoRawFd for FakeTimerFd { impl IntoRawFd for FakeTimerFd {
fn into_raw_fd(self) -> RawFd { fn into_raw_fd(self) -> RawFd {
self.fd.into_raw_fd() self.fd.into_raw_descriptor()
} }
} }