Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
假设我在某个函数中使用 epoll_ctl 注册了有限数量的事件。现在,在对同一个函数的重复调用中,我使用以下方法一次取消注册这些事件中的每一个:
epoll_ctl(epfd, EPOLL_CTL_DEL, fd, event);
我如何知道所有已注册的实例何时已注销?我需要为此维护一个单独的列表吗?
编辑:
我想我需要为我的问题添加更多上下文。假设我能够检测到没有注册事件,那么我需要在上面提到的同一函数中执行某个其他基本任务,而不是 epoll_wait()。
是的,您需要考虑您的文件描述符。
如果你想注销所有事件,你可以直接关闭 epoll fd,让内核释放整个数据结构(我没有尝试过,但我敢打赌这个解决方案也更快)。