]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
bpo-32710: Fix _overlapped.Overlapped memory leaks (GH-11489)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Fri, 11 Jan 2019 14:01:50 +0000 (06:01 -0800)
committerGitHub <noreply@github.com>
Fri, 11 Jan 2019 14:01:50 +0000 (06:01 -0800)
commit059997d78ed1a1a5a364b1846ac972c98c704927
tree56aa9fccbaacc4d0284727972843bd840c7cbef4
parent8a5b1aa98f97923c39734b508aead152a5a1c911
bpo-32710: Fix _overlapped.Overlapped memory leaks (GH-11489)

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 5485085b324a45307c1ff4ec7d85b5998d7d5e0d)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
Misc/NEWS.d/next/Library/2019-01-10-15-55-10.bpo-32710.KwECPu.rst [new file with mode: 0644]
Modules/overlapped.c