[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