LINUX.ORG.RU

События Epoll


0

1

Доброго всем здоровья)

Столкнулся с такой задачей: в наборе дискрипторов, события на котором отслеживает EPOLL, в произвольном дискрипторе нужно получить и изменить маску событий. Изменить-то маску я могу с помощью epoll_ctl(EPOLL_CTL_MOD,...), но как ее получить (для того, чтобы проанализировать)?

Спасибо!

Ответ на: комментарий от am1808

Не зная маски, по логике кода, новую маску формировать нельзя. В массиве придется хранить маску для каждого дискриптора

nitroxolyne ()
int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);
        
struct epoll_event 
{
   __uint32_t events;      /* события epoll */
   epoll_data_t data;      /* переменные данных пользователя */
};

Унас ведь есть поле data в структуре epoll_event. Там можно хранить все, что хочешь. Пользуйся этим.

pathfinder ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.