相关疑难解决方法(0)

epoll是否保留了fd注册的顺序?

我正在玩Linux系统调用,我发现了一些方面epoll,我不清楚.说,我创建一个epoll实例:

epollfd = epoll_create(50);
Run Code Online (Sandbox Code Playgroud)

接下来,我在for-loop中注册了50个文件描述符:

for(i=0; i<50; i++){
    // open file "file-i".txt
    // construct epoll_event
    // register new file descriptor with epoll_ctl(epollfd, EPOLL_CTL_ADD ...
Run Code Online (Sandbox Code Playgroud)

现在我们有50个文件,已准备就绪(读取或写入 - 无关紧要).我们将MAX_EVENTS设置为3:

#define MAX_EVENTS 3
...
struct epoll_event events[MAX_EVENTS]
...
epoll_wait(epollfd, events, MAX_EVENTS, -1)
Run Code Online (Sandbox Code Playgroud)

所有这50个文件都准备好了,我们只询问了其中的3个.哪些文件将在events数组中?

  • [1,2,3] - 前三个文件按顺序添加到epoll中
  • [48,49,50] - 最后3个文件,以便将它们添加到epoll中
  • [34,7,15] - 随机3个文件
  • 任何其他选择

谢谢.

c linux epoll

6
推荐指数
1
解决办法
1547
查看次数

标签 统计

c ×1

epoll ×1

linux ×1