Емельянов Эдуард Владимирович (eddy_em) wrote,
Емельянов Эдуард Владимирович
eddy_em

Categories:

Атомарные операции с файлами

А вот как надежно выполнить операцию замены содержимого файла атомарно? Я не парился особо: делал unlink старого файла, а потом создавал новый, но пару раз при получении FITS-файлов на 0.5-метровом телескопе обнаружил "пропажу" части данных из шапки (похоже, файл был открыт в тот момент, когда только заполнялся демоном).
В интернетах пишут, что нужно сначала создать временный файл, а затем при помощи rename подменить содержимое оригинального. Насколько это надежно? В манах пишут, что если в момент выполнения rename другой процесс обратится к файлу, "пропажи" он не заметит. А вот если он его откроет "чуть-чуть заранее" и успеет часть считать? Останется ли файл для него нетронутым, как при unlink, или же превратится в кашу, как при "перезаписи наживую"?
Tags: c, рукожопие
Subscribe

  • Не могу найти документацию по RGB-LED модулю P4

    Купил на али вот такой модуль. У меня уже был опыт работы с монохромным P10, думал, что здесь так же просто. А оказалось все не так. Распиновку…

  • Новый кикад - просто ужас!

    Пока маюсь дурью под Звенигородом, решил было поработать. Но оказалось, что кикад я давно не пересобирал и после последнего обновления системы он не…

  • Хочется взять, и…

    Что-то последнее время чем дальше в лес все больше и больше падает грамотность интернет-пользователей. Похоже, из-за появления дешевых…

promo eddy_em august 17, 2019 12:33 3
Buy for 10 tokens
Юра намедни напечатал корпус для хронометра. Для первого блина получилось неплохо: И еще немного фотографий:
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 16 comments

  • Не могу найти документацию по RGB-LED модулю P4

    Купил на али вот такой модуль. У меня уже был опыт работы с монохромным P10, думал, что здесь так же просто. А оказалось все не так. Распиновку…

  • Новый кикад - просто ужас!

    Пока маюсь дурью под Звенигородом, решил было поработать. Но оказалось, что кикад я давно не пересобирал и после последнего обновления системы он не…

  • Хочется взять, и…

    Что-то последнее время чем дальше в лес все больше и больше падает грамотность интернет-пользователей. Похоже, из-за появления дешевых…