1
0
mirror of https://gitlab.gnome.org/GNOME/libxslt synced 2025-07-09 03:41:46 +03:00

convenience change try to avoid calling libxml2 cleanup function directly

* configure.in: convenience change
* python/libxsl.py python/libxslt-python-api.xml python/libxslt.c:
  try to avoid calling libxml2 cleanup function directly but go
  though the python wrapper of libxml2 for memory debug accounting.
Daniel
This commit is contained in:
Daniel Veillard
2004-07-02 13:53:31 +00:00
parent 916d36f00a
commit a3a4c25d47
6 changed files with 18 additions and 7 deletions

View File

@ -84,6 +84,11 @@ class extensionModule:
"""Callback function when a transformation using it finishes"""
pass
def cleanup():
"""Cleanup all libxslt and libxml2 memory allocated"""
libxsltmod.xsltPythonCleanup()
libxml2.cleanupParser()
#
# Everything below this point is automatically generated
#

View File

@ -45,8 +45,8 @@
<arg name='URI' type='xmlChar *' info='the namespace or NULL'/>
<arg name='c' type='pythonObject' info='the python class instance'/>
</function>
<function name='xsltCleanup' file='python'>
<info>Cleanup all libxslt and libxml2 memory allocated</info>
<function name='xsltPythonCleanup' file='python'>
<info>Cleanup just libxslt (not libxml2) memory allocated</info>
<return type='void'/>
</function>
<!-- xmlXPathParserContextPtr accessors -->

View File

@ -840,8 +840,8 @@ libxslt_xsltRegisterExtensionClass(PyObject *self ATTRIBUTE_UNUSED,
************************************************************************/
PyObject *
libxslt_xsltCleanup(PyObject *self ATTRIBUTE_UNUSED,
PyObject *args ATTRIBUTE_UNUSED) {
libxslt_xsltPythonCleanup(PyObject *self ATTRIBUTE_UNUSED,
PyObject *args ATTRIBUTE_UNUSED) {
if (libxslt_extModuleFunctions != NULL) {
xmlHashFree(libxslt_extModuleFunctions, deallocateCallback);
@ -856,7 +856,6 @@ libxslt_xsltCleanup(PyObject *self ATTRIBUTE_UNUSED,
xmlHashFree(libxslt_extModuleClasses, deallocateClasse);
}
xsltCleanupGlobals();
xmlCleanupParser();
Py_INCREF(Py_None);
return(Py_None);
}

View File

@ -17,7 +17,7 @@ unregisterExtModuleTopLevel()
registerAllExtras()
# functions from module python
cleanup()
pythonCleanup()
registerErrorHandler()
registerExtModuleElement()
registerExtModuleFunction()