On Fri, 17 Sep 2010 18:31:45 -0400, Sean Kelly <s...@invisibleduck.org> wrote:

Steven Schveighoffer Wrote:

On Fri, 17 Sep 2010 18:11:11 -0400, Steven Schveighoffer
<schvei...@yahoo.com> wrote:

> On Fri, 17 Sep 2010 18:07:54 -0400, Andrei Alexandrescu
> <seewebsiteforem...@erdani.org> wrote:
>
>> On 09/17/2010 04:55 PM, Steven Schveighoffer wrote:
>>> On Fri, 17 Sep 2010 17:33:11 -0400, Andrei Alexandrescu
>>> <seewebsiteforem...@erdani.org> wrote:
>>>
>>>> I think clear() can be fixed if we remove the call to the constructor
>>>> AND obliterate the vptr.
>>>
>>> agreed.
>>
>> One more thing: we need to change the call to the destructor to check
>> the vptr. If the vptr is null, no call to the destructor. Where is that
>> piece of code? Couldn't find it by grepping for __dtor.
>
> lifetime.d?  Looks like it might already check for null classinfo ;)
>
> http://www.dsource.org/projects/druntime/browser/trunk/src/rt/lifetime.d#L1002

However, it does look like we will have to kill the monitor in clear().

Is there some reason clear() can't just call rt_finalize?

does rt_finalize not deallocate the memory? If so, that's probably the right thing to do. In fact, I think it does exactly what we want. It calls collectHandler, what does that mean?

I'm thinking you are right. Why didn't you speak up before I went through all this trouble? ;)

-Steve

Reply via email to