Home / cs-notes / Operating System / Linux / Syscalls / epoll / trigger
Epoll 的触发方式
- edge trigger - ET
-
level trigger - LT
- epoll_wait
- 阻塞等待 IO 事件
- select, poll 只支持 LT 工作模式
- epoll 的默认工作模式为 LT 模式
水平触发的时机
- 缓冲区不空,LT 模式返回读就绪
- 缓冲区不满,LT 模式返回写就绪
边缘触发的时机
- 读
空 -> 不空
- 新数据达到 (缓冲区内数据变多)
- 缓冲区有数据可读,且进程对相应 fd 进行 epoll_ctl_mod 修改 epoll_in 事件时
- 写
满 -> 不满
- 旧数据被发走 (缓冲区变少)
- 缓冲区有空间可写,且进程对相应 fd 进行 epoll_ctl_mod 修改 epoll_out 事件时