Subject: Re: NSArchiver atomic?



All bets are off if you do unsupported things inside of a signal
handler. For instance it is possible that the routines used to write
the file *seemed* to complete successfully when they, in fact, didn't.
In which case the code went along its merry way and did the rename.

On Sun, Mar 29, 2009 at 12:35 PM, Michael Vannorsdel <mikevann@xxxxxxxxx> wrote:
> Yes no surprise..
>
> But if NSArchiver is indeed atomic I would think the saved file would either
> be saved complete with new data or complete old data and not with partial
> data in situations like an untimely crash or resource loss. ÂUnless I have
> the wrong expectation of atomic file writes, which I thought was writing to
> a temp file and doing a rename at the end to avoid partial state files at
> the destination.
>
>
> On Mar 29, 2009, at 1:04 PM, Michael Ash wrote:
>
>> You cannot run arbitrary code from a signal handler. The sigaction man
>> page has a list of what library functions *can* be called from a
>> signal handler. *Everything* else is off-limits, including all of
>> Cocoa and all of the Objective-C runtime.
>>
>> You were doing it wrong, now you're doing it right, and your problem
>> went away. Seems like no surprise there!
>
> _______________________________________________
>
> Cocoa-dev mailing list (Cocoa-dev@xxxxxxxxxxxxxxx)
>
> 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/clarkcox3%40gmail.com
>
> This email sent to clarkcox3@xxxxxxxxx
>



--
Clark S. Cox III
clarkcox3@xxxxxxxxx
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@xxxxxxxxxxxxxxx)

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/maillists%40codeha.us

This email sent to maillists@xxxxxxxxx



Privacy