mirror of
https://github.com/python/cpython.git
synced 2026-05-18 10:24:42 -04:00
Added clear cache methods to clear the internal type lookup cache for ref leak test runs.
This commit is contained in:
@@ -377,6 +377,9 @@ Py_Finalize(void)
|
||||
Py_XDECREF(warnings_module);
|
||||
warnings_module = NULL;
|
||||
|
||||
/* Clear type lookup cache */
|
||||
PyType_ClearCache();
|
||||
|
||||
/* Collect garbage. This may call finalizers; it's nice to call these
|
||||
* before all modules are destroyed.
|
||||
* XXX If a __del__ or weakref callback is triggered here, and tries to
|
||||
|
||||
@@ -754,6 +754,17 @@ a 11-tuple where the entries in the tuple are counts of:\n\
|
||||
10. Number of stack pops performed by call_function()"
|
||||
);
|
||||
|
||||
static PyObject *
|
||||
sys_cleartypecache(PyObject* self, PyObject* args)
|
||||
{
|
||||
PyType_ClearCache();
|
||||
Py_RETURN_NONE;
|
||||
}
|
||||
|
||||
PyDoc_STRVAR(cleartypecache_doc,
|
||||
"_cleartypecache() -> None\n\
|
||||
Clear the internal type lookup cache.");
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
@@ -776,6 +787,8 @@ static PyMethodDef sys_methods[] = {
|
||||
/* Might as well keep this in alphabetic order */
|
||||
{"callstats", (PyCFunction)PyEval_GetCallStats, METH_NOARGS,
|
||||
callstats_doc},
|
||||
{"_cleartypecache", sys_cleartypecache, METH_NOARGS,
|
||||
cleartypecache_doc},
|
||||
{"_current_frames", sys_current_frames, METH_NOARGS,
|
||||
current_frames_doc},
|
||||
{"displayhook", sys_displayhook, METH_O, displayhook_doc},
|
||||
|
||||
Reference in New Issue
Block a user