summaryrefslogtreecommitdiff
path: root/Python
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2013-03-04 03:34:09 -0500
committerRaymond Hettinger <python@rcn.com>2013-03-04 03:34:09 -0500
commitf2c17a9276e5793b4a0e9e84a338a1c874ddd01c (patch)
treea7aabb999cf23a0818133489f12e47256ae1b187 /Python
parent03923426733dcc9f6c998057114212c168c3b1cd (diff)
downloadcpython-git-f2c17a9276e5793b4a0e9e84a338a1c874ddd01c.tar.gz
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 'Python')
0 files changed, 0 insertions, 0 deletions