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).
R
Raymond Hettinger committed
f2c17a9276e5793b4a0e9e84a338a1c874ddd01c
Parent: 0392342