http://d.puremagic.com/issues/show_bug.cgi?id=4104
--- Comment #2 from Max Samukha <[email protected]> 2010-07-22 01:21:54 PDT --- 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 initiated. 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: -------
