Можете ли вы получить доступ к списку интересов epoll (он же набор интересов) напрямую? - PullRequest
1 голос
/ 05 апреля 2020

Я новичок в epoll. Страница man для epoll упоминает список интересов (aka epoll set), который является надмножеством готового набора. Если вы хотите изменить список интересов путем добавления новых событий epoll, удаления старых событий epoll или изменения существующих событий epoll, похоже, вы можете использовать epoll_ctl(). Если вы хотите прочитать текущий готовый набор, похоже, вы можете использовать epoll_wait(). Есть ли способ получить доступ к списку интересов? Я ищу что-то похожее на epoll_wait() в том смысле, что оно даст вам список всех событий epoll.

Context:

Мой системный класс заставляет нас использовать epoll для Мультиплекс ввода / вывода, и они собираются использовать valgrind для проверки на утечки. Я использую поле epoll_event.data.ptr, чтобы указать на структуру, которую у меня есть mallo c в куче. Мне нужно освободить все это, когда программе отправляется сигнал о прекращении. Я понимаю, что мог бы создать список активных epoll_events на своей стороне, но я просто хочу убедиться, что я не изобрету велосипед заново, прежде чем я это сделаю.

1 Ответ

1 голос
/ 05 апреля 2020

Вы не изобретаете велосипед. Отслеживание в вашем собственном коде всех соединений, которые обрабатывает ваш код, является правильным способом сделать это.

...