[sisyphus] Q: read()/write() operations of exact size

Michael Pozhidaev msp на altlinux.ru
Пт Янв 15 23:57:52 UTC 2010


Привет всем!

Вот два симметричных вопроса: предположим надо по трубе записать и
прочитать некоторую структуру известного размера, как сделать так, чтобы
быть уверенным, что она запишется сразу полностью и прочитается сразу
полностью?

Насчёт прочитать наткнулся на ioctl(fd, FIONREAD), который говорит,
сколько данных доступно для чтения. Как быть уверенным, что ядро не
захочет писать структуру из, скажем , семи байт порциями по два-три
байта? ННеохота каждый write() оборачивать в цикл. Ну уж как-то это
очень коряво получается.
-- 
Michael Pozhidaev. Tomsk, Russia.
E-mail: msp на altlinux.ru
Info: http://www.marigostra.ru/



Подробная информация о списке рассылки Sisyphus