Skip to content

Commit c7be6f1

Browse files
committed
fix(driver,poll): ENOENT on Linux
1 parent e1272e7 commit c7be6f1

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

compio-driver/src/poll/mod.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -284,8 +284,13 @@ impl Driver {
284284
}
285285
}
286286
let renew_event = queue.event(fd as _);
287-
let fd = BorrowedFd::borrow_raw(fd);
288-
self.poll.modify(fd, renew_event)?;
287+
let borrowed_fd = BorrowedFd::borrow_raw(fd);
288+
if !renew_event.readable && !renew_event.writable {
289+
self.poll.delete(borrowed_fd)?;
290+
self.registry.remove(&fd);
291+
} else {
292+
self.poll.modify(borrowed_fd, renew_event)?;
293+
}
289294
}
290295
Ok(())
291296
}

0 commit comments

Comments
 (0)