bpo-32710: Fix _overlapped.Overlapped memory leaks by vstinner · Pull Request #11489 · python/cpython

serhiy-storchaka

asvetlov

@vstinner vstinner changed the title bpo-32710: Add tp_traverse to _overlapped.Overlapped bpo-32710: Fix _overlapped.Overlapped memory leaks

Jan 10, 2019

serhiy-storchaka

serhiy-storchaka

@vstinner

Fix memory leaks in asyncio ProactorEventLoop on overlapped operation
failure.

Changes:

* Implement the tp_traverse slot in the _overlapped.Overlapped type
  to help to break reference cycles and identify referrers in the
  garbage collector.
* Always clear overlapped on failure: not only set type to
  TYPE_NOT_STARTED, but release also resources.

@vstinner

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request

Jan 11, 2019
Fix memory leaks in asyncio ProactorEventLoop on overlapped operation
failures.

Changes:

* Implement the tp_traverse slot in the _overlapped.Overlapped type
  to help to break reference cycles and identify referrers in the
  garbage collector.
* Always clear overlapped on failure: not only set type to
  TYPE_NOT_STARTED, but release also resources.
(cherry picked from commit 5485085)

Co-authored-by: Victor Stinner <vstinner@redhat.com>

miss-islington added a commit that referenced this pull request

Jan 11, 2019
Fix memory leaks in asyncio ProactorEventLoop on overlapped operation
failures.

Changes:

* Implement the tp_traverse slot in the _overlapped.Overlapped type
  to help to break reference cycles and identify referrers in the
  garbage collector.
* Always clear overlapped on failure: not only set type to
  TYPE_NOT_STARTED, but release also resources.
(cherry picked from commit 5485085)

Co-authored-by: Victor Stinner <vstinner@redhat.com>