1
0
mirror of https://gitlab.gnome.org/GNOME/libxslt synced 2025-07-31 02:43:06 +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

@ -1,3 +1,10 @@
Fri Jul 2 15:51:49 CEST 2004 Daniel Veillard <daniel@veillard.com>
* 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.
Fri Jul 2 16:24:12 HKT 2004 William Brack <wbrack@mmm.com.hk>
* libxslt/keys.c: added namespace setup before calling XPath

View File

@ -388,7 +388,7 @@ if test "${LOGNAME}" = "veillard" -a "`pwd`" = "/u/veillard/XSLT" ; then
DV_LINK="1"
XSLTPROCDV="xsltproc.dv"
INSTALLED_XSLT_LIB=""
# PYTHONSODV="libxsltmod.so.dv"
LIBXML_SRC="../../XML/"
fi
WIN32_EXTRA_LIBADD=

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,7 +840,7 @@ libxslt_xsltRegisterExtensionClass(PyObject *self ATTRIBUTE_UNUSED,
************************************************************************/
PyObject *
libxslt_xsltCleanup(PyObject *self ATTRIBUTE_UNUSED,
libxslt_xsltPythonCleanup(PyObject *self ATTRIBUTE_UNUSED,
PyObject *args ATTRIBUTE_UNUSED) {
if (libxslt_extModuleFunctions != NULL) {
@ -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()