LINUX.ORG.RU

[C, sockets, epoll] Вопрос


0

1

Используются неблокируюшие сокеты. epoll используется в режиме level-triggered (хотя в данном случае это вроде неважно). Может ли быть так, что epoll_wait сигнализировал EPOLLIN'ом, а при чтении из сокета recv вернул -1 и установил errno в EAGAIN? Аналогичный вопрос насчет EPOLLOUT и send.


Не должно бы такого быть. Но лучше просто всегда читать-писать до отказа, прежде чем опять ловить события.

const86 ★★★★★
()

> epoll_wait сигнализировал EPOLLIN'ом, а при чтении из сокета recv вернул -1 и установил errno в EAGAIN?

Конечно может. EAGAIN может прилететь из любого сисколла, так что либо отключай его через глибц, либо обрабатывай.

LamerOk ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.