Browse Source

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

Darren Ranalli 18 years ago
parent
commit
6de182f3bf
2 changed files with 7 additions and 0 deletions
  1. 4 0
      direct/src/distributed/CRCache.py
  2. 3 0
      direct/src/distributed/DistributedObject.py

+ 4 - 0
direct/src/distributed/CRCache.py

@@ -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 = []

+ 3 - 0
direct/src/distributed/DistributedObject.py

@@ -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