[Zodb-checkins] CVS: Zope3/src/persistence - cache.py:1.5

Jeremy Hylton jeremy@zope.com
Tue, 11 Mar 2003 17:09:09 -0500


Update of /cvs-repository/Zope3/src/persistence
In directory cvs.zope.org:/tmp/cvs-serv21326

Modified Files:
	cache.py 
Log Message:
Must reverse() after sort(), because we want the biggest/oldest first.
Repair comment about relationship between _p_atime and now.


=== Zope3/src/persistence/cache.py 1.4 => 1.5 ===
--- Zope3/src/persistence/cache.py:1.4	Tue Mar 11 15:00:04 2003
+++ Zope3/src/persistence/cache.py	Tue Mar 11 17:09:06 2003
@@ -100,13 +100,17 @@
                 ob = ob()
             # The _p_atime field is seconds since the start of the day.
             # When we start a new day, we'll expect to see most of the
-            # _p_atime values be less than now.
+            # _p_atime values be greater than now.
             if ob._p_atime > now:
                 deltat = (86400 - ob._p_atime) + now
             else:
                 deltat = now - ob._p_atime
             L.append((deltat, oid, ob))
+
+        # Sort on deltat so that the least recently used objects --
+        # those with the largest deltat -- are at the front.
         L.sort()
+        L.reverse()
 
         if na > self._size:
             # If the cache is full, ghostify everything up to the cache