【问题标题】:Can you access the epoll interest list (a.k.a. interest set) directly?您可以直接访问 epoll 兴趣列表(又名兴趣集)吗?
【发布时间】: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 列表,但我只是想确保在我这样做之前我没有重新发明轮子。

【问题讨论】:

    标签: c linux epoll


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2017-04-29
      • 1970-01-01
      • 1970-01-01
      • 2013-09-16
      • 2015-11-12
      • 2018-01-13
      • 1970-01-01
      • 1970-01-01
      • 2016-04-17
      相关资源
      最近更新 更多