Есть ли способ, чтобы узнать 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 - есть ли способ узнать более подробную информацию об ошибке в дескрипторе файла?