>> If calloc() ever returns NULL while attempting to allocate the new >> grid, I back out all of the successful allocations by passing each >> array pointer to free(). Then I display an alert to the user to >> advise them that there is not enough memory for their desired grid >> size, and suggest trying a smaller one. > > This is not a safe pattern in a multi-threaded application. You may be > checking for failed allocations and responding correctly, but to a close > approximation no code anywhere else does so. For example, objc_msgSend > sometimes needs to allocate memory, and has no way to recover if it cannot. > If some other thread were working at the same time you caused allocation > failures, then that thread is likely to crash.
'course, that's just one defeatist's opinion. As a counter-opinion, I think that handling runtime errors is wise, and I've seen many crashes averted in practice (in multi-threaded code) in cases just like this. _______________________________________________ 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 arch...@mail-archive.com