如何检测epoll中所有先前注册的事件何时被取消注册?

时间:2013-04-16 06:57:14

标签: linux events epoll

假设我在某个函数中使用epoll_ctl注册了有限数量的事件。现在,通过重复调用同一个函数,我使用以下方法一次注销这些事件中的每一个:

epoll_ctl(epfd, EPOLL_CTL_DEL, fd, event);

如何取消注册所有已注册的实例? 我是否需要为此保留一个单独的列表?

修改

我想我需要在我的问题中添加更多上下文。假设我能够检测到没有注册事件,那么我需要在上面提到的相同函数中执行某个其他必要任务,而不是epoll_wait()。

1 个答案:

答案 0 :(得分:0)

是的,您需要考虑您的文件描述符。

如果要取消所有事件,可能只需关闭epoll fd,让内核释放整个数据结构(我没试过,但我敢打赌这个解决方案是也更快)。

相关问题