我有一个驱动程序,当新数据准备就绪时会发出POLLPRI
事件,因为该设备始终可读(最后一个数据)。
答案 0 :(得分:4)
您可以使用priority()
:
返回就绪表示优先(EPOLLPRI)准备状态
示例(基于文档)
use mio::net::TcpStream;
use mio::unix::UnixReady;
use mio::{Poll, PollOpt, Ready, Token};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let addr = "216.58.193.68:80".parse()?;
let socket = TcpStream::connect(&addr)?;
let poll = Poll::new()?;
poll.register(
&socket,
Token(0),
Ready::readable() | UnixReady::priority() | UnixReady::error(),
PollOpt::edge(),
)?;
Ok(())
}