From 95a24c6f8b2483f05afabb0b3afaacfea4ebe061 Mon Sep 17 00:00:00 2001 From: Alessandro Decina Date: Sat, 13 Feb 2021 03:26:41 +0000 Subject: [PATCH] perf_map: implement AsRawFd --- aya/src/maps/perf_map.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/aya/src/maps/perf_map.rs b/aya/src/maps/perf_map.rs index a4e142f2..a1826629 100644 --- a/aya/src/maps/perf_map.rs +++ b/aya/src/maps/perf_map.rs @@ -3,6 +3,7 @@ use std::{ ffi::c_void, io, mem, ops::DerefMut, + os::unix::prelude::AsRawFd, ptr, slice, sync::{ atomic::{self, AtomicPtr, Ordering}, @@ -239,6 +240,12 @@ impl PerfBuffer { } } +impl AsRawFd for PerfBuffer { + fn as_raw_fd(&self) -> RawFd { + self.fd + } +} + impl Drop for PerfBuffer { fn drop(&mut self) { unsafe { @@ -290,6 +297,12 @@ impl> PerfMapBuffer { } } +impl> AsRawFd for PerfMapBuffer { + fn as_raw_fd(&self) -> RawFd { + self.buf.as_raw_fd() + } +} + pub struct PerfMap> { map: Arc, page_size: usize,