From: Gerrit V. <vo...@ca...> - 2009-03-29 04:42:55
|
Hi, ok, after thinking a little and fixing my initial rather brain dead tries ;), coming back to the initial problem set ;) On Thu, 2009-03-26 at 17:21 -0500, Carsten Neumann wrote: > Hi Gerrit, all, > > > Thinking about this some more Dirk and I found three problematic scenarios: > > 1) the above situation with a beacon pointing "back" to an object that > already has a sub[Weak]Reference() running, that should be fixed again. > 2) an object that only has a weak pointer to it (e.g. it is held in a > cache). not sure about that one, what was the problem with having only a weak ptr to an object ? Except that you maybe could resurrect the object through a very low level interface. But if we need to we should be able to avoid this now. > 3) two threads one giving up a reference to an object the other one > giving up a weak reference (this case currently still has a race I think). yes it should have had. With the change to single ref count op locations and the spinlock so that the refcount state can only be seen in a consistent form I hope that should be gone. kind regards, gerrit |