[Zope-Checkins] SVN: Zope/trunk/ - Collector #1655: fixed severe
memory leak in TemporaryStorage
Andreas Jung
andreas at andreas-jung.com
Sat Jan 8 03:23:39 EST 2005
Log message for revision 28771:
- Collector #1655: fixed severe memory leak in TemporaryStorage
Changed:
U Zope/trunk/doc/CHANGES.txt
U Zope/trunk/lib/python/tempstorage/TemporaryStorage.py
-=-
Modified: Zope/trunk/doc/CHANGES.txt
===================================================================
--- Zope/trunk/doc/CHANGES.txt 2005-01-07 21:23:44 UTC (rev 28770)
+++ Zope/trunk/doc/CHANGES.txt 2005-01-08 08:23:39 UTC (rev 28771)
@@ -51,6 +51,8 @@
Bugs fixed
+ - Collector #1655: fixed severe memory leak in TemporaryStorage
+
- Collector #1407: fixed XML escaping problem introduced in 2.7.4 b1
- Collector #1151: HTTP compression was broken on error pages
Modified: Zope/trunk/lib/python/tempstorage/TemporaryStorage.py
===================================================================
--- Zope/trunk/lib/python/tempstorage/TemporaryStorage.py 2005-01-07 21:23:44 UTC (rev 28770)
+++ Zope/trunk/lib/python/tempstorage/TemporaryStorage.py 2005-01-08 08:23:39 UTC (rev 28771)
@@ -271,7 +271,9 @@
while roids:
roid = roids.pop(0)
# decrement refcnt:
- rc=referenceCount_get(roid, 0)
+ # DM 2005-01-07: decrement *before* you make the test!
+ # rc=referenceCount_get(roid, 0)
+ rc=referenceCount_get(roid, 0) - 1
if rc==0:
self._takeOutGarbage(roid)
elif rc < 0:
@@ -280,7 +282,9 @@
(ReferenceCountError.__doc__,`roid`,rc)
)
else:
- referenceCount[roid] = rc - 1
+ # DM 2005-01-07: decremented *before* the test! see above
+ #referenceCount[roid] = rc - 1
+ referenceCount[roid] = rc
try: del self._oreferences[oid]
except: pass
More information about the Zope-Checkins
mailing list