diff options
author | Martin Teichmann <lkb.teichmann@gmail.com> | 2018-01-28 04:17:46 (GMT) |
---|---|---|
committer | Nick Coghlan <ncoghlan@gmail.com> | 2018-01-28 04:17:46 (GMT) |
commit | dd0e087edc8f1e4d2c0913236b1a62a77d9db6d8 (patch) | |
tree | ada932bb080ed3a999989e2055e66df581291d4b /Lib/pdb.py | |
parent | c4b1248308f051146a50ecc5e31d85d794dc8d05 (diff) | |
download | cpython-dd0e087edc8f1e4d2c0913236b1a62a77d9db6d8.zip cpython-dd0e087edc8f1e4d2c0913236b1a62a77d9db6d8.tar.gz cpython-dd0e087edc8f1e4d2c0913236b1a62a77d9db6d8.tar.bz2 |
bpo-30306: release arguments of contextmanager (GH-1500)
The arguments to a generator function which is declared as a
contextmanager are stored inside the context manager, and
thus are kept alive, even when it is used as a regular context
manager, and not as a function decorator (where it needs
the original arguments to recreate the generator on each
call).
This is a possible unnecessary memory leak, so this changes
contextmanager.__enter__ to release the saved arguments,
as that method being called means that particular CM instance
isn't going to need to recreate the underlying generator.
Patch by Martin Teichmann.
Diffstat (limited to 'Lib/pdb.py')
0 files changed, 0 insertions, 0 deletions