当使用epoll_ctl()时,我发现第三个参数"fd"是epoll文件描述符"epfd"之外的另一个文件描述符.我看到了这样一个例子:
event.data.fd = sfd; //sfd is a fd for listening
event.events = EPOLLIN | EPOLLET;
s = epoll_ctl (efd, EPOLL_CTL_ADD, sfd, &event);
Run Code Online (Sandbox Code Playgroud)
正如我所看到的,event.data.fd中的文件描述符与epoll_ctl中的第三个参数相同,为什么需要两次传递这个描述符?有什么不同吗?