假设我已经构建了一个epoll集,是否可以找出某个fd是否属于这个epoll集?是否有可能从这个epoll集中找出某个fd感兴趣的事件? 感谢。
答案 0 :(得分:1)
将epoll_ctl与要使用op参数EPOLL_CTL_ADD检查的fd一起使用。如果fd已经注册,则注册将失败,并且errno已分配给EEXIST。
如果注册成功,那么它就是epoll集的一部分,所以使用带有op参数EPOLL_CTL_DEL的epoll_ctl立即从集合中删除它,以便集合保持不变。
如果您可以为您的问题添加更多上下文,那么我们可能会想出一个更好的方法。
答案 1 :(得分:0)
您可以将epoll_ctl
与文件描述符一起使用,如果文件描述符不是该集合的一部分,epoll将返回错误:EBADF