On 26/02/2013 14:11, Rob Kendrick wrote:
> On Tue, Feb 26, 2013 at 01:08:33PM +0000, Daniel Silverstone wrote:
>> On Tue, Feb 26, 2013 at 01:10:41PM +0100, François Revol wrote:
>>> At least on BeOS we can in theory include NetSurf as a replicant, where
>>> the binary is dlopen()ed and dlclosed() when removed, so using atexit()
>>> would cause quite some trouble there.
>>
>> If this is *truly* a use-case we need to think about, I'll ponder making the
>> root somehow static so it gets unloaded automatically, although that might
>> complicate rehashing.
>
> The ugly destructor approach could be workable: if for some reason a
> host's compiler doesn't support it, we can wrap it in a suitable #ifdef
> and they can deal with the leak.
>
> Or, perhaps we could have some C++ with a real destructor on a singleton
> that calls the finialisation code? Not sure how this would interact
> with multiple users an dlopen()ing of the whole thing.
Well, C++ dtors are usually called from this method anyway...
it's just more standardized at C++ level.
François.
No comments:
Post a Comment