Gibt es eine Möglichkeit, die errno
herauszufinden, wenn epoll_wait
EPOLLERR
für eine bestimmte fd zurückgibt?Wie errno erhalten, wenn epoll_wait EPOLLERR zurückgibt?
Gibt es weitere Informationen über die Art des Fehlers?
Edit:
Weitere Informationen Hinzufügen von Mehrdeutigkeit auf einer Reihe von Datei-Deskriptoren
epoll_wait
wartet zu verhindern. Wenn Sie anrufen epoll_wait
Sie es eine Reihe von epoll_event
Strukturen passieren:
struct epoll_event {
uint32_t events; /* Epoll events */
epoll_data_t data; /* User data variable */
};
Die epoll_data_t
Struktur hat die gleichen Details wie die, die Sie mit epoll_ctl
verwendet, um einen Dateideskriptor zu epoll hinzufügen:
typedef union epoll_data {
void *ptr;
int fd;
uint32_t u32;
uint64_t u64;
} epoll_data_t;
Was Ich suche nach was passiert, wenn es einen Fehler auf einem der Dateideskriptoren gibt, auf denen epoll wartet.
ie: epoll_event.events & EPOLLERR == 1
- Gibt es eine Möglichkeit, mehr Details über den Fehler im Dateideskriptor herauszufinden?
Sorry für die Verspätung der Antwort - das hat perfekt funktioniert - danke! :) –