我試圖在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