Como obter errno quando epoll_wait retorna EPOLLERR?
Existe uma maneira de descobrirerrno
quandoepoll_wait
devolveEPOLLERR
para um fd em particular?
Existe alguma informação adicional sobre a natureza do erro?
Editar:
Adicionando mais informações para evitar ambigüidade
epoll_wait
aguarda em um número de descritores de arquivos. Quando Você ligarepoll_wait
você passa uma matriz deepoll_event
estruturas:
struct epoll_event {
uint32_t events; /* Epoll events */
epoll_data_t data; /* User data variable */
};
oepoll_data_t
estrutura tem os mesmos detalhes que você usou comepoll_ctl
para adicionar um descritor de arquivo para epoll:
typedef union epoll_data {
void *ptr;
int fd;
uint32_t u32;
uint64_t u64;
} epoll_data_t;
O que estou procurando é o que acontece quando há um erro em um dos descritores de arquivo que o epoll está esperando.
ie:(epoll_event.events & EPOLLERR) == 1
existe uma maneira de descobrir mais detalhes do erro no descritor de arquivo?