summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2011-08-24 15:48:26 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2011-08-24 15:48:26 -0400
commita285ce76e988e6cf14ab9b241188da34cbd4de80 (patch)
tree0a75d67b8cad18e2621692f87665e13f404409b1
parentc80135c7f76c8c2118025f22a478a292d66ee9b3 (diff)
downloaddogpile-core-a285ce76e988e6cf14ab9b241188da34cbd4de80.tar.gz
further cleanup
-rw-r--r--dogpile/dogpile.py10
-rw-r--r--tests/test_dogpile.py12
2 files changed, 10 insertions, 12 deletions
diff --git a/dogpile/dogpile.py b/dogpile/dogpile.py
index 65ae6e0..c3d4663 100644
--- a/dogpile/dogpile.py
+++ b/dogpile/dogpile.py
@@ -117,20 +117,16 @@ class Dogpile(object):
if not self.is_expired:
return
- has_createlock = False
if self.has_value:
if not self.dogpilelock.acquire(False):
log.debug("dogpile entering block while another thread does the create")
return
- log.debug("dogpile create lock acquired")
- has_createlock = True
-
- if not has_createlock:
+ else:
log.debug("no value, waiting for create lock")
self.dogpilelock.acquire()
- log.debug("waited for create lock")
-
try:
+ log.debug("value creation lock acquired")
+
# see if someone created the value already
if not self.is_expired:
return
diff --git a/tests/test_dogpile.py b/tests/test_dogpile.py
index b8565e0..ffad4d4 100644
--- a/tests/test_dogpile.py
+++ b/tests/test_dogpile.py
@@ -45,6 +45,9 @@ class DogpileTest(TestCase):
if slow_write_time:
with dogpile.acquire_write_lock():
saved = list(the_resource)
+ # clear out the resource dict so that
+ # usage threads hitting it will
+ # raise
the_resource[:] = []
time.sleep(slow_write_time)
the_resource[:] = saved
@@ -70,11 +73,10 @@ class DogpileTest(TestCase):
# establish "max stale" as, object expired + time
# to create a new one + 10%
max_stale = (expiretime + creation_time) * 1.1
-
- assert time_since_create < max_stale
- "Value is %f seconds old, expiretime %f, time to create %f" % (
- time_since_create, expiretime, creation_time
- )
+ assert time_since_create < max_stale, \
+ "Value is %f seconds old, expiretime %f, time to create %f" % (
+ time_since_create, expiretime, creation_time
+ )
log.debug("time since create %s max stale time %s" % (
time_since_create,
max_stale