Message75732
amaury> What if PyGC_Collect() is called just before?
That would work. With the following patch:
===================================================================
--- Python/import.c (revision 67183)
+++ Python/import.c (working copy)
@@ -498,7 +498,10 @@
PyDict_SetItem(modules, key, Py_None);
}
}
-
+ /* Collect garbage remaining after deleting the
+ modules. Mostly reference cycles created by new style
+ classes. */
+ PyGC_Collect();
/* Next, delete sys and __builtin__ (in that order) */
value = PyDict_GetItemString(modules, "sys");
if (value != NULL && PyModule_Check(value)) {
$ ./python.exe x.py
creating X('new')
creating X('old')
deleting X('old')
deleting X('new') |
|
Date |
User |
Action |
Args |
2008-11-11 05:23:56 | belopolsky | set | recipients:
+ belopolsky, georg.brandl, jimjjewett, amaury.forgeotdarc, gbrandl.historic |
2008-11-11 05:23:55 | belopolsky | set | messageid: <1226381035.64.0.602376638991.issue1545463@psf.upfronthosting.co.za> |
2008-11-11 05:23:54 | belopolsky | link | issue1545463 messages |
2008-11-11 05:23:54 | belopolsky | create | |
|