mirror of
https://github.com/python/cpython.git
synced 2025-07-26 20:54:39 +00:00
Remove types from type_list if they have no objects
and unlist_types_without_objects is set. Give dump_counts a FILE* argument.
This commit is contained in:
parent
041669fa67
commit
45294a9562
4 changed files with 47 additions and 9 deletions
|
@ -311,7 +311,7 @@ Py_Initialize(void)
|
|||
|
||||
|
||||
#ifdef COUNT_ALLOCS
|
||||
extern void dump_counts(void);
|
||||
extern void dump_counts(FILE*);
|
||||
#endif
|
||||
|
||||
/* Undo the effect of Py_Initialize().
|
||||
|
@ -373,6 +373,13 @@ Py_Finalize(void)
|
|||
* XXX I haven't seen a real-life report of either of these.
|
||||
*/
|
||||
PyGC_Collect();
|
||||
#ifdef COUNT_ALLOCS
|
||||
/* With COUNT_ALLOCS, it helps to run GC multiple times:
|
||||
each collection might release some types from the type
|
||||
list, so they become garbage. */
|
||||
while (PyGC_Collect() > 0)
|
||||
/* nothing */;
|
||||
#endif
|
||||
|
||||
/* Destroy all modules */
|
||||
PyImport_Cleanup();
|
||||
|
@ -401,7 +408,7 @@ Py_Finalize(void)
|
|||
|
||||
/* Debugging stuff */
|
||||
#ifdef COUNT_ALLOCS
|
||||
dump_counts();
|
||||
dump_counts(stdout);
|
||||
#endif
|
||||
|
||||
PRINT_TOTAL_REFS();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue