diff options
| author | Raymond Hettinger <python@rcn.com> | 2013-03-04 08:34:09 (GMT) |
|---|---|---|
| committer | Raymond Hettinger <python@rcn.com> | 2013-03-04 08:34:09 (GMT) |
| commit | f2c17a9276e5793b4a0e9e84a338a1c874ddd01c (patch) | |
| tree | a7aabb999cf23a0818133489f12e47256ae1b187 /Lib/idlelib/HyperParser.py | |
| parent | 03923426733dcc9f6c998057114212c168c3b1cd (diff) | |
| download | cpython-f2c17a9276e5793b4a0e9e84a338a1c874ddd01c.zip cpython-f2c17a9276e5793b4a0e9e84a338a1c874ddd01c.tar.gz cpython-f2c17a9276e5793b4a0e9e84a338a1c874ddd01c.tar.bz2 | |
Fix other re-entrancy nits for the lru_cache.
Keep references for oldkey and oldvalue so they can't
trigger a __del__ method to reenter our thread.
Move the cache[key]=link step to the end, after the link
data is in a consistent state.
Under exotic circumstances, the cache[key]=link step could
trigger reentrancy (i.e. the key would have to have a hash
exactly equal to that for another key in the cache and the
key would need a __eq__ method that makes a reentrant call
our cached function).
Diffstat (limited to 'Lib/idlelib/HyperParser.py')
0 files changed, 0 insertions, 0 deletions
