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

Dmitry V. Levin ldv на altlinux.org
Сб Янв 16 00:57:43 UTC 2010


On Sat, Jan 16, 2010 at 06:45:03AM +0600, Michael Pozhidaev wrote:
> 
> > Перечитайте man 2 read и man 2 write ещё раз и напишите себе обёртки,
> > которые делают всё что вы хотите.
> 
> Надёжного метода, кроме того, чтобы везде всё брать в цикл не
> существует.

Не существует, short read и short write надо всегда иметь в виду.

Есть готовые проверенные обёртки, см. напр.
http://git.altlinux.org/people/ldv/packages/?p=hasher-priv.git;a=blob;f=hasher-priv/fds.c#l134
http://git.altlinux.org/people/ldv/packages/?p=hasher-priv.git;a=blob;f=hasher-priv/child.c#l70

Ну и, конечно, есть стандартные fread(3) и fwrite(3).


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20100116/d674d8a1/attachment-0001.bin>


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