On Friday, 8 March 2013 at 03:22:46 UTC, Walter Bright wrote:
On 3/7/2013 6:18 PM, Daniel Murphy wrote:
"Walter Bright" <[email protected]> wrote in message
news:[email protected]...
On 1/2/2012 11:20 AM, Martin Nowak wrote:
- Libraries might not be unloaded as long as GC collected
class
instances
still exist because
finalization fails otherwise.
D doesn't guarantee that finalizers will run on GC allocated
objects.
Therefore, when unloading a dll:
1. run a gc collection
2. for all objects remaining on the heap
if they have a finalizer and that finalizer points
into the dll
code
mark them as not having a finalizer
What if their vtbl points into the dll code?
What about delegates or function pointers that point there?
These are problems with *any* dynamic dll code. The answer is
to tell the user "don't do that".
That is completely wrong.