是否可以检查某个fd是否属于epoll集?

时间:2013-04-18 08:37:33

标签: epoll

假设我已经构建了一个epoll集,是否可以找出某个fd是否属于这个epoll集?是否有可能从这个epoll集中找出某个fd感兴趣的事件? 感谢。

2 个答案:

答案 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