谁为epoll_wait()中的处理分配事件/接口ID

时间:2013-07-19 10:40:15

标签: c++ c linux epoll

这个问题让我很长时间不知所措。 在event polling机制的情况下,我想知道。当我有一个代码,其中我说我有3个FD进行轮询,并且我已经为每个FD分配了每个interface type,通过该FD可以识别事件。处理也是使用epoll_create()完成的,然后使用epoll_wait()接收事件。

Say: 3 FDs. 
1 Timer, 1 IPC, 1 MQTT -> Creation using epoll_create

但我的问题是谁将事件id或接口id分配给外部事件,因为事件的类别和它们各自的接口将始终是内部的。

如果我的问题清楚,请告诉我。

1 个答案:

答案 0 :(得分:0)

我找到了答案。

说创建了3 FDs1 Timer, 1 IPC & 1 MQTT. 当创建这些接口时,将后续接口分配给每个接口FD,该接口FD被添加到Poll FD。 Poll FD将读取每个接口ID上发生的任何事件,并知道它发生的接口。

这就是了解事件意味着哪个接口。并非所有外部模块都分配epoll接口ID,而是在内部处理它。