Message34523
This patch is intended to fix the following problem:
Python on Windows never frees DLLs loaded as extension. Whenever it's not a big problem when the interpreter is being used in a standart way, it becomes THE problem (or even a disaster) when the interpreter DLL is dynamically
initialized/finalized from one process many times during single run.
Moreover, even in case of single initialization there is a trap - DLLs loaded by mistake are unloaded only then a process finishes (e.g. suppose there is a foo.dll in the current directory and foo.dll is NOT a Python extension;
"import foo" ends up with error, but foo.dll will be anging in process' address space!)
This patch
1) frees a DLL handle in case of it has no proper initialization funcion
2) registers in an internal array all handles of successfully loaded dynamic extensions
2) frees all registered handles during Py_Finalize()
Yakov Markovitch,
markovitch@iso.ru |
|
Date |
User |
Action |
Args |
2007-08-23 15:02:09 | admin | link | issue401713 messages |
2007-08-23 15:02:09 | admin | create | |
|