Also I should add, I've yet to find a way to protect a file from editing or deletion on OS X that can't just be ignored by something else. Things like flock appear to be optionally supported and not globally enforced. As long as a way exists to get around any kind of file lock there's no way to guarantee a specific file will be unchanged during usage. This is partially done to prevent file lock abuse I'm guessing.

As Mr. Davidson pointed out, the best you can do is only map files you can be reasonably sure no one will want to modify unless purposely trying to corrupt your program.


On May 13, 2008, at 9:57 PM, Michael Vannorsdel wrote:

I actually tested this a month back and not all operations/programs respect link counts nor does the system appear to enforce them. For instance an rm -f will destroy the file regardless of link count, as well as some obscure APIs. After the file was removed the mapping program crashed when trying to read more of the file; it failed to load new map data.


On May 13, 2008, at 9:08 AM, Jens Alfke wrote:

You're correct about modifications, but not about deletions. An open file descriptor counts as a link to a file, so the unlink(2) system call will not actually delete the file from disk because there's still a link to it. Once you close the mapped file, the last link goes away and then the file is actually deleted.


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to