diff options
author | Guido van Rossum <guido@python.org> | 2000-04-21 21:17:39 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2000-04-21 21:17:39 (GMT) |
commit | 25826c93c4cf1fcac537e6cded5ce986c751134e (patch) | |
tree | 58061e8b687c1fbb76c77d1926884d053550c8b4 /PC/config.c | |
parent | 5ce78f8e4e2522ab59f4c2c35a5a784dcc2dafc8 (diff) | |
download | cpython-25826c93c4cf1fcac537e6cded5ce986c751134e.zip cpython-25826c93c4cf1fcac537e6cded5ce986c751134e.tar.gz cpython-25826c93c4cf1fcac537e6cded5ce986c751134e.tar.bz2 |
Charles Waldman writes:
"""
Running "test_extcall" repeatedly results in memory leaks.
One of these can't be fixed (at least not easily!), it happens since
this code:
def saboteur(**kw):
kw['x'] = locals()
d = {}
saboteur(a=1, **d)
creates a circular reference - d['x']['d']==d
The others are due to some missing decrefs in ceval.c, fixed by the
patch attached below.
Note: I originally wrote this without the "goto", just adding the
missing decref's where needed. But I think the goto is justified in
keeping the executable code size of ceval as small as possible.
"""
[I think the circular reference is more like kw['x']['kw'] == kw. --GvR]
Diffstat (limited to 'PC/config.c')
0 files changed, 0 insertions, 0 deletions