【发布时间】:2019-08-15 11:05:23
【问题描述】:
1) 我有epoll_wait(..., events, ...) 循环,是否需要在每次迭代之前重新初始化事件数组?
2)根据epoll()手动示例是不需要的,是不是搞错了?
3) 我尚未处理的 fds 是否会在下一次迭代中重新写入数组中? (我用的是level触发的epoll)我不会错过ready fds?
我尝试阅读内核代码以检查它是否在每次迭代时覆盖数组或只添加到数组中,但没有成功(如果你能告诉我它会很棒)。
struct epoll_event ev, events[MAX_EVENTS];
...
for (;;) {
nfds = epoll_wait(epollfd, events, MAX_EVENTS, -1);
...
}
【问题讨论】: