[Python-checkins] cpython: Handle a possible race condition
raymond.hettinger
python-checkins at python.org
Tue May 1 02:35:51 CEST 2012
http://hg.python.org/cpython/rev/b3aeaef6c315
changeset: 76675:b3aeaef6c315
user: Raymond Hettinger <python at rcn.com>
date: Mon Apr 30 14:14:28 2012 -0700
summary:
Handle a possible race condition
files:
Lib/functools.py | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/Lib/functools.py b/Lib/functools.py
--- a/Lib/functools.py
+++ b/Lib/functools.py
@@ -241,6 +241,12 @@
return result
result = user_function(*args, **kwds)
with lock:
+ if key in cache:
+ # getting here means that this same key was added to the
+ # cache while the lock was released. since the link
+ # update is already done, we need only return the
+ # computed result and update the count of misses.
+ pass
if currsize < maxsize:
# put result in a new link at the front of the queue
last = root[PREV]
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list