tree a2d03feea86522a09b004a6aab82f4fd9914b954
parent ef2dfd47ba3887d3767bab767e50df751a7d2e9b
author Jason Rhinelander <jason@imaginary.ca> 1496849739 -0300
committer Jason Rhinelander <jason@imaginary.ca> 1496950926 -0300

Destroy internals if created during Py_Finalize()

Py_Finalize could potentially invoke code that calls `get_internals()`,
which could create a new internals object if one didn't exist.
`finalize_interpreter()` didn't catch this because it only used the
pre-finalize interpreter pointer status; if this happens, it results in
the internals pointer not being properly destroyed with the interpreter,
which leaks, and also causes a `get_internals()` under a future
interpreter to return an internals object that is wrong in various ways.
