Jak uzyskać errno, gdy epoll_wait zwraca EPOLLERR?

Czy istnieje sposób, aby dowiedzieć sięerrno gdyepoll_wait zwracaEPOLLERR dla konkretnego fd?

Czy są jakieś dalsze informacje na temat charakteru błędu?

Edytować:

Dodanie dodatkowych informacji, aby zapobiec dwuznaczności

epoll_wait czeka na kilka deskryptorów plików. Kiedy zadzwoniszepoll_wait przekazujesz mu tablicęepoll_event Struktury:

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

Theepoll_data_t struktura ma takie same szczegóły, jak te, których używałeśepoll_ctl dodać deskryptor pliku do epoll:

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

Szukam tego, co się dzieje, gdy wystąpi błąd na jednym z deskryptorów plików, na który czeka epoll.

to znaczy:(epoll_event.events & EPOLLERR) == 1 - czy istnieje sposób, aby dowiedzieć się więcej szczegółów na temat błędu deskryptora pliku?

questionAnswers(4)

yourAnswerToTheQuestion