Re: [Fresco-devel] ref counting
Sean Rae <[email protected]>
| Newsgroups | gmane.comp.video.fresco.devel |
|---|---|
| Message-ID | <[email protected]> |
> I'm not sure what you mean by "tracks allocations instead of
> lifetime". In general, though, distributed garbage collecting is a
> wildly unsolved problem; the server can't tell whether some remote
> client is still holding a reference to an object or not, and the
> client can't tell whether an object that it no longer has a reference
> to had its reference count correctly decremented when the last
> reference was dropped. Well, except, there is one way -- make sure
> that whenever you see a new reference, you increment the count, and
> whenever you forget about a reference, you decrement the count. This
> is what _var's do :-)
I was thinking that in every constructor, the object being created could
register itself with some service inside of Fresco (strictly for
developers' use), e.g. inside of Bob() would be _service_register(*this)
or something similar. That way, if you know that foo_bar() will allocate 4
objects by how you design (or rather, n+i objects, or whatever), then you
can allocation_service_assert(4 objects) and it will pop up an error
message if the method allocated 40 objects instead of 4. I don't know how
useful it would be, but it might prove to be a good double-checker for
allocations. Hopefully the scene-graph rewrite with the better memory
management that you referred to will nullify this problem. See ya.
- - - - - - - - - - - - - - - - - -
Sean Rae / es9
cool and calculating
www.birdnest.org/raes1
- - - - - - - - - - - - - - - - - -