--- Comment #2 from Max Samukha <samu...@voliacable.com> 2010-07-22 01:21:54
I am afraid it is too early.
The problem is that during the final GC cycle wrappers owned by D (subject to
garbage collection) will be destroyed. As part of their destruction process,
they will destroy their corresponding C++ objects, which may destroy other C++
objects, which will destroy their D wrappers (those added to roots).
Though I am not entirely sure whether the last-mentioned wrappers need to be
destroyed at program exit, I tend to think they do, just like the wrapper that
owns them (that is the one that indirectly causes their destruction).
>From the above follows that we need to know when the final GC cycle has been
finished, so that QtD doesn't try to destroy wrappers for the C++ objects that
survived that cycle.
Obviously isHalting does not help here because it is set before the GC cycle is
A field of an enum type indicating the current runtime state would be great.
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------