added warning about objects that are delayDeleted and cannot be deleted by the CRCache

This commit is contained in:
Darren Ranalli 2008-02-02 01:35:40 +00:00
parent b481bcac00
commit 6de182f3bf
2 changed files with 7 additions and 0 deletions

View File

@ -22,6 +22,10 @@ class CRCache:
CRCache.notify.debug("Flushing the cache")
for distObj in self.dict.values():
distObj.deleteOrDelay()
if distObj.getDelayDeleteCount() != 0:
self.notify.warning(
'CRCache.flush: could not delete %s (%s), delayDeleteCount=%s' %
(safeRepr(distObj), itype(distObj), distObj.getDelayDeleteCount()))
# Null out all references to the objects so they will get gcd
self.dict = {}
self.fifo = []

View File

@ -148,6 +148,9 @@ class DistributedObject(DistributedObjectBase):
else:
self.disableAnnounceAndDelete()
def getDelayDeleteCount(self):
return self.delayDeleteCount
def delayDelete(self, flag):
# Flag should be 0 or 1, meaning increment or decrement count
# Also see DelayDelete.py