Операции дескриптора файла epoll - PullRequest
2 голосов
/ 01 февраля 2011

Я пытаюсь обернуть голову вокруг epoll в Linux.
Нормальная операция выглядит так:

// 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?

Ответы [ 2 ]

3 голосов
/ 01 февраля 2011

со страницы руководства :

Q3 Сам epoll fd Опрос / Epoll / выбор

A3 Да.

2 голосов
/ 19 октября 2012

Вы можете poll(2) свой epoll_fd сам :))

...