-
Notifications
You must be signed in to change notification settings - Fork 164
Open
Description
how can we use epoll_ctl to manage perfbuffer
like that
epoll1 = epoll::Epoll::new(epoll::EpollCreateFlags::empty()).unwrap();
perf = PerfBufferBuilder::new(map)
.sample_cb(handle_event)
.lost_cb(handle_lost)
.build()?
.into();
epoll1.add(perf.epoll_fd(), epoll::EpollEvent::new(epoll::EpollFlags::EPOLLIN, perf as *const _ as u64))
let mut events = [epoll::EpollEvent::empty()];
let event_count = epoll1.wait(&mut events, PollTimeout::from(u16::try_from(1000).unwrap()))
.unwrap();
for event in events.iter().take(event_count) {
let perf_ptr = event.data() as *mut PerfBuffer;
let _ = unsafe { (*perf_ptr).consume()
};
}
but it can doesn't work
Metadata
Metadata
Assignees
Labels
No labels