diff options
author | Jason Madden <jamadden@gmail.com> | 2021-10-12 07:50:53 -0500 |
---|---|---|
committer | Jason Madden <jamadden@gmail.com> | 2021-10-12 08:53:59 -0500 |
commit | 7d85029b961398726a3ba94800eccad68cb83028 (patch) | |
tree | f28152496fa6763d144e4b213d1edb46e3804055 | |
parent | cf3637df5101697a4df0ff387f5811fd478f25a1 (diff) | |
download | greenlet-issue252.tar.gz |
Add change note.issue252
-rw-r--r-- | CHANGES.rst | 5 | ||||
-rw-r--r-- | src/greenlet/greenlet_thread_state.hpp | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/CHANGES.rst b/CHANGES.rst index fdccb1d..ced3b2f 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -12,6 +12,11 @@ older GCC, clang and SunStudio we use ``__thread``, while for older MSVC we use ``__declspec(thread)``. +- Fix several leaks that could occur when using greenlets from + multiple threads. For example, it is no longer necessary to call + ``getcurrent()`` before exiting a thread to allow its main greenlet + to be cleaned up. See `issue 252 <https://github.com/python-greenlet/greenlet/issues/251>`_. + 1.1.2 (2021-09-29) ================== diff --git a/src/greenlet/greenlet_thread_state.hpp b/src/greenlet/greenlet_thread_state.hpp index 98a771a..b353f13 100644 --- a/src/greenlet/greenlet_thread_state.hpp +++ b/src/greenlet/greenlet_thread_state.hpp @@ -412,6 +412,8 @@ public: // Highly likely that the reference is somewhere on // the stack, not reachable by GC. Verify. // XXX: This is O(n) in the total number of objects. + // TODO: Add a way to disable this at runtime, and + // another way to report on it. PyObject* gc = PyImport_ImportModule("gc"); PyObject* get_referrers = NULL; PyObject* refs = NULL; |