[devel] Файлы

Kharitonov A. Dmitry kharpost at rambler.ru
Fri Oct 16 13:58:22 UTC 2009


Ildar Mulyukov wrote:
> On 15.10.2009 22:25:26, Kharitonov A. Dmitry wrote:
>> Max Ivanov wrote:
>>>> Из-за кеширования записи ошибка часто обнаруживается только при 
>>>> закрытии
>>>> файла, когда сделать уже мало чего можно (выводимые данные уже 
>>>> уничтожены --
>>>> обычно файл закрывают в самом конце программы), и это классическая 
>>>> проблема,
>>>> которую разрешить не все умеют, по этому и не проверяют.
>>>>
>>>
>>> А как её правильно разрешать? Научите.
>>>
>> Универсальный способ -- выводить небольшими порциями с частым 
>> закрытием файла. Но этот способ имеет очень низкую производительность.
>
> Извините, а fsync()  - не то?
Это я далее по тексту назвал принудительным сбросом кеша. В случае чего 
по ней можно вовремя отловить ошибку ввода-вывода. Но это тоже сильно 
тормозит программу, тк выход из вызова ядра происходит только после 
окончания сброса те программа будет блокирована на неопределённое время 
(очень долго).



More information about the Devel mailing list