>>>>> Victor Wagner <vi...@wagner.pp.ru> writes:

[…]

 > Кроме уже рассмотренного системного вызова unlink(2) есть еще вызов
 > rename(2).  Он отличается тем, что работает атомарно.  Поэтому если
 > записать файл на диск под именем something.tmp а потом удалить старый
 > something и переименовать something.tmp в something, время когда на
 > диске не существует корректного файла c именем something (либо
 > старого, либо нового) будет минимальным.

        Нулевым, если говорить об ФС.  (Состояние /диска/ может и не
        быть целостным.)  С поправкой на то, что явный unlink на новое
        имя перед вызовом rename не требуется.

--cut: http://pubs.opengroup.org/onlinepubs/9699919799/functions/rename.html --
    […] If the link named by the new argument exists, it shall be
    removed and old renamed to new.  In this case, a link named new shall
    remain visible to other processes throughout the renaming operation
    and refer either to the file referred to by new or old before the
    operation began.
--cut: http://pubs.opengroup.org/onlinepubs/9699919799/functions/rename.html --

-- 
FSF associate member #7257


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/86txsvc6za....@gray.siamics.net

Ответить