On 5 Nov 2012, at 12:48, Michael Stahl wrote: > yes, that would probably be an improvement (or the ~equivalent of > replacing xmlCleanupParser with NOP and adding new xmlReallyCleanupStuff > suggested in the other mail).
Well, the *real* fix would be to give everyone an 'XmlContext' (preferably provided as a totally opaque void *). These could maintained by libxml on a list. At some future points, stuff requiring static storage might take this as a parameter. Right now the XmlContext need not contain anything. This will prevent an xmlFreeContext being called by the same user twice from deiniting the library, as it can check the context is on the list first. The current xmlinit/deinit calls can then create/free an internal item static XmlContext on this list, with appropriate refcount checking (i.e. per my previous suggestion). Then the memdump can at least point out which library is not freeing stuff. I don't see why apps should not do deinit stuff on atexit(). -- Alex Bligh _______________________________________________ xml mailing list, project page http://xmlsoft.org/ [email protected] https://mail.gnome.org/mailman/listinfo/xml
