【发布时间】:2020-04-04 23:32:42
【问题描述】:
我是 epoll 的新手。 epoll 的手册页提到了一个兴趣列表(又名 epoll 集),它是就绪集的超集。如果你想通过添加新的 epoll 事件、删除旧的 epoll 事件或修改现有的 epoll 事件来修改兴趣列表,似乎可以使用epoll_ctl()。如果您想阅读当前的就绪集,似乎可以使用epoll_wait()。有没有办法访问兴趣列表?我正在寻找行为类似于epoll_wait() 的东西,因为它会为您提供所有 epoll 事件的列表。
上下文:
我的系统课让我们使用 epoll 到 I/O 多路复用,他们将使用 valgrind 来检查泄漏。我使用epoll_event.data.ptr 字段指向我在堆上malloc 的结构。当程序收到终止信号时,我需要释放所有这些。我知道我可以在我这边创建一个活动的 epoll_events 列表,但我只是想确保在我这样做之前我没有重新发明轮子。
【问题讨论】: