Удаление файла иногда не удается на Mac - PullRequest
2 голосов
/ 13 января 2011

Технические вопросы и ответы 1497 и этот вопрос (чей ответ скопирован из технической записки) указывают, что при получении fBsyErr из FSDeleteObject правильный обходной путь должен вызывать FSUnlinkObject на 10,5 +.

В чем техническая разница между двумя API FSDeleteObject и FSUnlinkObject (кроме того, что FSUnlinkObject не фигурирует в документации)?Почему unlink должен быть запасным, а не основным API?

Ответы [ 2 ]

0 голосов
/ 20 марта 2011

Я предполагаю, что FSDeleteObject появился первым, потому что он продолжает линейку функций удаления файлов, существовавших задолго до слияния Mac OS с Unix, тогда как отмена ссылки на файл - это концепция Unix.

0 голосов
/ 14 января 2011

Документ Apple, на который вы ссылаетесь, довольно четко объясняет разницу. FSUnlinkObject имеет ту же семантику, что и unlink () - удаление открытых файлов разрешено. FSDeleteObject не позволяет удалять открытые файлы и возвращает этот код ошибки при попытке сделать это.

...