Я использую epoll для записи медиа-сервера. Все fds настроены на неблокирование, и я использую события, запускаемые фронтом. Я знаю, что EPOLLIN I нужно выполнить цикл чтения fd до тех пор, пока не будет возвращено EAGAIN. Но как насчет записи?
Когда я хочу записать, я помещаю данные в очередь и устанавливаю EPOLLOUT | EPOLLIN | EPOLLET на fd. Когда происходит событие EPOLLOUT, я записываю все в очередь буфер за один раз:
n = send ( fd, buf, buf_len, MSG_NOSIGNAL );
Если n> 0 && n Устранение системного вызова здесь самый эффективный маршрут?