Skip to content
Advertisement

How to get errno when epoll_wait returns EPOLLERR?

Is there a way to find out the errno when epoll_wait returns EPOLLERR for a particular fd?

Is there any further information about the nature of the error?

Edit:

Adding more information to prevent ambiguity

epoll_wait waits on a number of file descriptors. When you call epoll_wait you pass it an array of epoll_event structures:

JavaScript

The epoll_data_t structure has the same details as the one you used with epoll_ctl to add a file descriptor to epoll:

JavaScript

What I’m looking for is what happens when there is an error on one of the file descriptors that epoll is waiting on.

ie: (epoll_event.events & EPOLLERR) == 1 – is there a way to find out more details of the error on the file descriptor?

Advertisement

Answer

Use getsockopt and SO_ERROR to get the pending error on the socket

JavaScript
User contributions licensed under: CC BY-SA
2 People found this is helpful
Advertisement