tracing fixes in unix poll; add some missing debug impls
This commit is contained in:
@@ -18,6 +18,12 @@ impl EntryHandle {
|
||||
}
|
||||
}
|
||||
|
||||
impl std::fmt::Debug for EntryHandle {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
|
||||
f.debug_struct("EntryHandle").field("opaque", &()).finish()
|
||||
}
|
||||
}
|
||||
|
||||
impl From<Box<dyn Handle>> for EntryHandle {
|
||||
fn from(handle: Box<dyn Handle>) -> Self {
|
||||
Self(handle.into())
|
||||
|
||||
@@ -9,6 +9,7 @@ pub(crate) struct ClockEventData {
|
||||
pub(crate) userdata: types::Userdata,
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub(crate) struct FdEventData {
|
||||
pub(crate) handle: EntryHandle,
|
||||
pub(crate) r#type: types::Eventtype,
|
||||
|
||||
@@ -38,7 +38,10 @@ pub(crate) fn oneoff(
|
||||
let delay = timeout.delay / 1_000_000; // poll syscall requires delay to expressed in milliseconds
|
||||
delay.try_into().unwrap_or(libc::c_int::max_value())
|
||||
});
|
||||
tracing::debug!("poll_oneoff poll_timeout = {:?}", poll_timeout);
|
||||
tracing::debug!(
|
||||
poll_timeout = tracing::field::debug(poll_timeout),
|
||||
"poll_oneoff"
|
||||
);
|
||||
|
||||
let ready = loop {
|
||||
match poll(&mut poll_fds, poll_timeout) {
|
||||
@@ -91,15 +94,17 @@ fn handle_fd_event(
|
||||
}
|
||||
|
||||
for (fd_event, poll_fd) in ready_events {
|
||||
tracing::debug!("poll_oneoff_handle_fd_event poll_fd = {:?}", poll_fd);
|
||||
tracing::debug!(
|
||||
poll_fd = tracing::field::debug(poll_fd),
|
||||
poll_event = tracing::field::debug(&fd_event),
|
||||
"poll_oneoff handle_fd_event"
|
||||
);
|
||||
|
||||
let revents = match poll_fd.revents() {
|
||||
Some(revents) => revents,
|
||||
None => continue,
|
||||
};
|
||||
|
||||
tracing::debug!("poll_oneoff_handle_fd_event revents = {:?}", revents);
|
||||
|
||||
let nbytes = if fd_event.r#type == types::Eventtype::FdRead {
|
||||
query_nbytes(fd_event.handle)?
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user