LINUX.ORG.RU

История изменений

Исправление Deleted, (текущая версия) :

Ещё один потенциальный баг в коде

Исходная версия Deleted, :

Сокет неблокирующий

Тогда тебе нужно send() вызывать в цикле с poll() и POLLOUT, так как он не обязан отправлять всё сообщение за раз и может вернуть количество отправленных данных меньшее, чем ты ему передал аргументом.

Насчёт read() не уверен (обычно для сокетов юзают recv()), но скорее всего он тоже может прочитать меньше, чем ты запросил.