Message158448
In principle, it should be possible (but perhaps not desirable, see below) to call FreeLibrary in a CDLL's __del__. However, since this would be a new feature, it can't go into 2.7. Patches are welcome; make sure to support both FreeLIbrary and dlclose.
There is a general issue with closing/freeing DLLs: if they are still referenced somewhere (e.g. in an atexit function, a C++ virtual method table, or on the call stack of another thread), then a later access to the code will crash the interpreter. In a typical DLL today (including all Python extension modules), the likelihood of crashes is close to 100%. For that reason, it's probably not a good idea to have ctypes auto-close DLLs; instead, it should be an opt-in mechanism.
For most ctypes uses, closing is irrelevant, since people typically access system libraries that are independently loaded anyway, so closing them would not have any effect. |
|
Date |
User |
Action |
Args |
2012-04-16 13:45:22 | loewis | set | recipients:
+ loewis, tim.golden, r.david.murray, brian.curtin, meador.inge, plynch76 |
2012-04-16 13:45:22 | loewis | set | messageid: <1334583922.92.0.741599931901.issue14597@psf.upfronthosting.co.za> |
2012-04-16 13:45:22 | loewis | link | issue14597 messages |
2012-04-16 13:45:22 | loewis | create | |
|