可以直接访问epoll兴趣列表(a.k.a.兴趣集)吗?

Can you access the epoll interest list (a.k.a. interest set) directly?

我是 epoll 新手。 epoll 的手册页提到了一个兴趣列表(a.k.a.epoll 集),它是就绪集的超集。如果你想通过添加新的epoll事件、删除旧的epoll事件或修改现有的epoll事件来修改兴趣列表,好像可以使用epoll_ctl()。如果要读取当前就绪集,好像可以使用epoll_wait()。有没有办法访问兴趣列表?我正在寻找行为类似于 epoll_wait() 的东西,因为它会为您提供所有 epoll 事件的列表。

上下文:

我的系统 class 让我们使用 epoll 来 I/O 多路复用,他们将使用 valgrind 来检查泄漏。我使用 epoll_event.data.ptr 字段指向我在堆上分配的结构。当程序收到终止信号时,我需要释放所有这些。我知道我可以在我这边创建一个活动列表 epoll_events,但我只是想确保在我这样做之前我没有重新发明轮子。

您不是在重新发明轮子。在您自己的代码中跟踪您的代码正在处理的所有连接是正确的方法。