I'd start by taking a look at the CHDataStructures framework:  
http://cocoaheads.byu.edu/wiki/chdatastructures

It's a framework hosted by our local CocoaHeads group that includes most of the data structures that Apple forgot. =)

An interesting framework, looks useful. Looking at the CHAbstractCircularBufferCollection class, I don't see it doing any special GC-related dance. The only substantial differences between it and what I am doing are that:

- I use malloc to make my array of pointers to objects, and it uses NSAllocateCollectable with NSScannedOption

- I declare my pointer as "AKIndividual **individuals" and it uses "__strong id *array"

So perhaps those choices avoid the issue, by avoiding the caveat "You should never take the address of a weak global, static or instance variable, as assigning or reading through that pointer will bypass the weak barriers and expose your programs to race conditions." But then as Greg Parker said, references stored in a malloced block are neither weak nor strong, they are just dangling pointers. So I don't really understand why I'm getting bitten in the first place. Dangling pointers is exactly what I want; why is auto_zone_root_write_barrier() getting into the middle of my assignment loop in the first place?

Ben Haller
Stick Software

_______________________________________________

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