diff options
Diffstat (limited to 'Python/pythonrun.c')
-rw-r--r-- | Python/pythonrun.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Python/pythonrun.c b/Python/pythonrun.c index a84186c..4cfb664 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -255,9 +255,17 @@ Py_Finalize(void) Py_XDECREF(PyModule_WarningsModule); PyModule_WarningsModule = NULL; + /* Collect garbage. This may call finalizers; it's nice to call these + before all modules are destroyed. */ + PyGC_Collect(); + /* Destroy all modules */ PyImport_Cleanup(); + /* Collect final garbage. This disposes of cycles created by + new-style class definitions, for example. */ + PyGC_Collect(); + /* Destroy the database used by _PyImport_{Fixup,Find}Extension */ _PyImport_Fini(); |