mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-26 07:02:11 +00:00
4edb1ce20c
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. |
||
---|---|---|
.. | ||
catch.cpp | ||
CMakeLists.txt | ||
test_interpreter.cpp | ||
test_interpreter.py |