epoll_wait() сообщает обо всех событиях закрытия сокета?

Или мне тоже нужно следить за возвращаемыми значениями read() или write(), чтобы знать, когда закрывать сокет
или это зависит от некоторых флагов?
этот вопрос для epoll в режиме запуска по фронту

1 ответ

epoll_wait() не будет сообщать о закрытии (soc), если он вызывается в вашем процессе. Вместо этого он тихо удалит сокет из набора epoll.

Я бы следил за EPOLLHUP, EPOLLRDHUP и EPOLLIN, чтобы обнаружить закрытие. В любом случае, если есть дистанционное закрытие, вы должны получить событие EPOLLIN, EPOLLHUP или EPOLLERR.

Другие вопросы по тегам