我试图在Linux环绕epoll的头部。
正常运行似乎是:epoll文件描述符操作
// Create the epoll_fd
int epoll_fd = epoll_create(10);
...
// Add file descriptors to it
struct epoll_event ev = {0};
ev.events |= EPOLLIN;
ev.data.ptr = ...;
/* for brevity, I don't do error checking here */
epoll_ctl(epoll_fd, EPOLL_CTL_ADD, some_fd, &ev);
...
// Wait for IO events
struct epoll_event events[10];
int num_events = epoll_wait(epoll_fd, events, 10, -1);
// Now handle the events
...
我的问题是:鉴于epoll_fd
似乎是一个普通的文件描述符,还有没有其他文件操作,我可以用它做,除了三个epoll的功能电话?
您使用之前`epoll`你应该问自己,为什么* *你使用它
poll(2)
。它完全不标准,不便携,并且在绝大多数人使用它的地方没有任何可衡量的好处。除非你将开放文件限制从1024增加到50000或更多,否则你所做的只是让你的代码无缘无故地移植。 – 2011-02-01 01:14:15