On 10 Aug 2010, at 14:55, Bill Bumgarner wrote:

> On Aug 10, 2010, at 1:31 AM, Alastair Houghton wrote:
> 
>> Sounds like a bug to me.  While zones are *discouraged* (they're very 
>> definitely an advanced topic and easily misused), I don't think they're 
>> actually deprecated.
> 
> Their use is deprecated and should be documented as such.   

I guess that's a documentation bug, then, since there don't seem to be many 
deprecation markings that I can see, and NSZone is documented all over the 
place.

> The key problems were two fold.   First, if a reference to an object in the 
> zone escaped said zone and wasn't cleaned up prior to zone destruction, you 
> ended up with an entirely unfathomable crash.   This happened often.   
> Secondly, if any object was allocated in the zone that required some kind of 
> more-than-dealloc-or-free operations to occur when deallocated, the zone's 
> destruction would bypass that.  Nothing like a dangling backing store 
> [window] to brighten your debugging day!

Indeed, that's why I said "easily misused".

That said, is the part about objects escaping zones really true for *NS*Zone?  
It's true for malloc zones, for sure, but the docs for NSRecycleZone say:

  Frees zone after adding any of its pointers still in use to the default zone.
  (This strategy prevents retained objects from being inadvertently destroyed.)

which seems to imply otherwise.

You *are* just talking about *NS*Zone, right?  malloc zones are very useful and 
I definitely don't want to see those go away (I'm thinking of a certain 
million-plus node data structure we maintain that we'd have to go calling 
free() a million or more times to release...)

Kind regards,

Alastair.

--
http://alastairs-place.net




_______________________________________________

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

Reply via email to