[3.7] bpo-32710: Fix _overlapped.Overlapped memory leaks (GH-11489) by miss-islington · Pull Request #11519 · python/cpython

@vstinner @miss-islington

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>