Re: fprintf && write

From
Valentin Nechayev ()
To
Boris Rudakov ()
Date
2003-06-04T23:27:34Z
Area
CARBON.COPY
 * Forwarded from area 'RU.UNIX.PROG'
From: Valentin Nechayev <netch@segfault.kiev.ua>


>>> Boris Rudakov wrote:

 VN>> write() - только в том случае если stdio буфер был перед этим успешно
 VN>> сброшен (fflush()). Иначе начнётся каша между буферами.
BR> Ну, мне кажется что мешать в рамках одной программы работу с одним и тем же
BR> файлом как средствами API так и средствами CLib - дурной тон :)

Они могут проистекать из разных библиотек, и для стандартных файлов (0-2)
это не удивит. Для других - может почти не удивить.;))

BR> Да, кста, а можно ли открыть файл в режиме аналогичном виндозному
BR> CreateFile'зному FILE_FLAG_WRITE_THROUGH - т.е. вообще без какой-либо
BR> буфферизации при записи ? Причем, имеются в виду не буфера CLib, а именно
BR> внутренние буффера ядра. Этот режим сильно тормозит, но крайне полезен для
BR> ведения дебажных логов. Как это делается ?

Общего средства нет. Некоторые системы знают O_DIRECT для open()
и fcntl(F_SETFL), другие - дают O_DSYNC с близким значением.


-netch-
--- ifmail v.2.15dev5
 * Origin: Dark side of coredump (2:5020/400)