I have implemented a "safe save" operation that goes something like this:
- Save some data to temporary file
A - Copy contents of
Ato final destinationB - Delete
A
I have a race condition at step 3 where Mac OS X will occasionally come back with error -47 (fBsyErr) when trying to delete the file using FSDeleteObject. I am completely confident I am the only one modifying this file and suspect the OS is doing something (e.g., background caching tasks) at the time I try to delete the file, resulting in the error.
This is an intermittent issue: normally the FSDeleteObject call works just fine. In those cases where I get the error code back I'd like to safely delete the file "at a later point in time" when the OS is finished playing with it.
What would be the best course of action to take in trying to delete this troublesome temporary file?