...
даря поддержке ACL в Mac OS X существует способ объявить файл как доступный для записи, но не удаляемый.
Это создает проблему с атомарными записями, так кактекущая реализация изrename
в VFSdelete
s уже существующая цель. Если у вас есть существующий файл, на который у вас есть права на запись, возможноне в состоянии атомарно написать:
Просто прикрепите ACL, в котором говоритсяdeny delete
и атомарную запись (например, реализованную различными API-интерфейсами Какао - например,NSArray-хwriteToFile:atomically:
) потерпит неудачу, в то время как неатомарная запись будет успешно выполнена.
Поскольку мое понимание низкоуровневого кода на C довольно ограничено:
Возможна ли альтернативная реализация только с незначительными (вставьте ваше любимое определение «второстепенные») головными болями?
Спасибо
Даниил