Jack Liu added the comment:
I have a app loading python35.dll. Use python API PyImport_AddModule to run a
py file. And use PyDict_DelItemString to delete the module. There is a global
vailable in the py file. The global variable is not destroyed when calling
PyDict_DelItemString to delete the module. The global variable is destroyed
when calling Py_Finalize. It's too late. That cause the memory leak. Because
the Py_Initialize is called at the app startup, the Py_Finalize is called at
the app shutdown.
But it is ok with python33.dll, the global variable can be destroyed when
calling PyDict_DelItemString to delete the module.
How to resolve the problem? Is there a workaround? I need to use python35.dll
and wish the global variable in a module can be released automatically when
call PyDict_DelItemString to delete the module.
Here is the python test code:
def __init__( self ):
def __del__( self ):
simple = Simple()
Python tracker <rep...@bugs.python.org>
Python-bugs-list mailing list