или мне тоже нужно следить за возвращаемыми значениями read () или write (), чтобы знать, когда закрывать сокет
или это зависит от некоторых флагов?
этот вопрос для epoll в режиме запуска по фронту
epoll_wait () не будет сообщать о закрытии (soc), если он вызывается в вашем процессе. Вместо этого он тихо удалит сокет из набора epoll.
Я бы следил за EPOLLHUP, EPOLLRDHUP и EPOLLIN, чтобы обнаружить закрытие. В любом случае, если есть дистанционное закрытие, вы должны получить событие EPOLLIN, EPOLLHUP или EPOLLERR.
Других решений пока нет …