linux驱动----多路复用

POLL

poll是什么

poll是一种多路复用的IO模型,允许一个进程同时监控多个文件描述符是否就绪,当文件就绪时,poll返回可读,可写或异常事件数量,使得程序能够做出相应的处理。

poll怎么用----------在应用层

struct pollfd{
	int fd;  //文件描述符
	short events; //事件类型
	short revents;  //实际发生的事件
}
int poll (strcut pollfd* fd,  nfds_t nfds, int timeout);

其中:fds指向一个pollfd结构体数组的指针, 每一个结构体描述一个被监控的文件描述符。
nfds:监控的文件描述符的数量
timeout:超时时间,-1表示一直等待(阻塞等),0表示不等待(非阻塞),正数表示等待毫秒数。

应用程序中使用了poll对设备文件进行了监控,那么设备驱动就必须实现poll接口

在这里插入图片描述

1、返回一个mask值
2、调用poll_wait,将当前的等待队列注册到系统中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值