Страница справочника по настройке EPOLLET имеет:
Ниже предлагается рекомендуемый способ использования epoll в качестве интерфейса Edge Triggered (EPOLLET) и возможные ошибки, которых следует избегать.
i
with non-blocking file descriptors
ii
by going to wait for an event only after read(2) or write(2)
return EAGAIN
Редактировать: Вы также можете вызывать recv () или read () для x байтов, пока не получите меньше x байтов.
Если вы этого не сделаете, вы можетесоздайте голодную ситуацию, когда данные остаются в буфере сокета и предотвращают активность ET в сокете.
Какая у вас проблема?