¿Cómo obtener errno cuando epoll_wait devuelve EPOLLERR?
¿Hay alguna manera de averiguar laerrno
cuandoepoll_wait
devolucionesEPOLLERR
para un fd particular?
¿Hay más información sobre la naturaleza del error?
Editar:
Añadiendo más información para evitar la ambigüedad.
epoll_wait
espera en una serie de descriptores de archivos. Cuando usted llamaepoll_wait
lo pasas una serie deepoll_event
estructuras:
struct epoll_event {
uint32_t events; /* Epoll events */
epoll_data_t data; /* User data variable */
};
losepoll_data_t
La estructura tiene los mismos detalles que la que usaste conepoll_ctl
para agregar un descriptor de archivo a epoll:
typedef union epoll_data {
void *ptr;
int fd;
uint32_t u32;
uint64_t u64;
} epoll_data_t;
Lo que estoy buscando es lo que sucede cuando hay un error en uno de los descriptores de archivos que espera epoll.
es decir:(epoll_event.events & EPOLLERR) == 1
- ¿Hay alguna forma de averiguar más detalles del error en el descriptor de archivos?