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.
B.