Commit a903ad98 authored by Barry Warsaw's avatar Barry Warsaw

_Py_ReleaseInternedStrings(): Private API function to decref and

release the interned string dictionary.  This is useful for memory
use debugging because it eliminates a huge source of noise from the
reports.  Only defined when INTERN_STRINGS is defined.
parent 8d7f0869
......@@ -65,9 +65,11 @@ extern DL_IMPORT(PyObject *) _PyString_FormatLong(PyObject*, int, int,
#ifdef INTERN_STRINGS
extern DL_IMPORT(void) PyString_InternInPlace(PyObject **);
extern DL_IMPORT(PyObject *) PyString_InternFromString(const char *);
extern DL_IMPORT(void) _Py_ReleaseInternedStrings(void);
#else
#define PyString_InternInPlace(p)
#define PyString_InternFromString(cp) PyString_FromString(cp)
#define _Py_ReleaseInternedStrings()
#endif
/* Macro, trading safety for speed */
......
......@@ -3217,3 +3217,13 @@ PyString_Fini(void)
}
#endif
}
#ifdef INTERN_STRINGS
void _Py_ReleaseInternedStrings(void)
{
if (interned) {
Py_DECREF(interned);
interned = NULL;
}
}
#endif /* INTERN_STRINGS */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment