1
0
mirror of https://github.com/django/django.git synced 2025-10-27 23:56:08 +00:00

Fixed #25840 -- Fixed BaseCache.get_or_set() on the DummyCache backend.

This also fixes a possible data eviction race condition between
setting and getting a key. Another thread could remove the key
before get_and_set() accesses it again. In this case, now the
default value will be returned instead of None.
This commit is contained in:
Emre Yilmaz
2015-12-02 12:34:31 +02:00
committed by Tim Graham
parent 25f5b5c19d
commit 8e838d9c86
3 changed files with 12 additions and 2 deletions

View File

@@ -165,7 +165,7 @@ class BaseCache(object):
default = default()
val = self.add(key, default, timeout=timeout, version=version)
if val:
return self.get(key, version=version)
return self.get(key, default, version)
return val
def has_key(self, key, version=None):