Ideas for runtime loading of shared libraries.

deadalnix deadalnix at gmail.com
Fri Mar 8 02:18:32 PST 2013


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" <newshound2 at digitalmars.com> wrote in message
>> news:khban1$1lm2$1 at digitalmars.com...
>>> 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.


More information about the Digitalmars-d mailing list