write () может вернуть меньше записанных байтов, чем запрошено:
Произошло переключение контекста процесса или получен SIGINT, write () не является атомарным.
write () возвращает меньше байтов, когда происходит EOF до считывания всего буфера.
Если для fd установлено неблокирование, то другие переходные условия могут привести к тому, что write () вернет, записав меньше байтов, чем запрошено - это поведение, определяемое реализацией.
Пример - временные ошибки переполнения диска в файловых системах, таких как / tmp. Файловые системы NFS иногда не очень хорошо воспроизводятся: возврат ошибки из close () может быть единственным способом обнаружения ошибки переполнения диска при записи () в смонтированный файл NFS.