Insure properly identifies the `interned' dictionary as leaking at
shutdown time, but CVS log entry for revision 2.45 explains why this is so. Simply include a comment so we don't have to re-figure it out again 5 years from now.
This commit is contained in:
parent
f2581c97f2
commit
4df762ff98
|
@ -2850,6 +2850,18 @@ PyString_Format(PyObject *format, PyObject *args)
|
|||
|
||||
#ifdef INTERN_STRINGS
|
||||
|
||||
/* This dictionary will leak at PyString_Fini() time. That's acceptable
|
||||
* because PyString_Fini() specifically frees interned strings that are
|
||||
* only referenced by this dictionary. The CVS log entry for revision 2.45
|
||||
* says:
|
||||
*
|
||||
* Change the Fini function to only remove otherwise unreferenced
|
||||
* strings from the interned table. There are references in
|
||||
* hard-to-find static variables all over the interpreter, and it's not
|
||||
* worth trying to get rid of all those; but "uninterning" isn't fair
|
||||
* either and may cause subtle failures later -- so we have to keep them
|
||||
* in the interned table.
|
||||
*/
|
||||
static PyObject *interned;
|
||||
|
||||
void
|
||||
|
|
Loading…
Reference in New Issue