Как получить ошибку, когда epoll_wait возвращает EPOLLERR?

Есть ли способ узнатьerrno когдаepoll_wait возвращаетсяEPOLLERR для конкретного фд?

Есть ли какая-либо дополнительная информация о природе ошибки?

Редактировать:

Добавление дополнительной информации для предотвращения двусмысленности

epoll_wait ждет нескольких дескрипторов файлов. Когда вы звонитеepoll_wait Вы передаете это массивepoll_event структуры:

struct epoll_event {
           uint32_t     events;    /* Epoll events */
           epoll_data_t data;      /* User data variable */
       };

epoll_data_t структура имеет те же детали, что и тот, который вы использовали сepoll_ctl добавить дескриптор файла в epoll:

typedef union epoll_data {
           void    *ptr;
           int      fd;
           uint32_t u32;
           uint64_t u64;
       } epoll_data_t;

Что я ищу, так это то, что происходит, когда возникает ошибка в одном из файловых дескрипторов, которые ожидает epoll.

то есть:(epoll_event.events & EPOLLERR) == 1 - есть ли способ узнать более подробную информацию об ошибке в дескрипторе файла?

Ответы на вопрос(4)

Ваш ответ на вопрос