]> granicus.if.org Git - python/commitdiff
Issue 5009: multiprocessing: failure in manager._debug_info()
authorJesse Noller <jnoller@gmail.com>
Wed, 21 Jan 2009 02:08:17 +0000 (02:08 +0000)
committerJesse Noller <jnoller@gmail.com>
Wed, 21 Jan 2009 02:08:17 +0000 (02:08 +0000)
Lib/multiprocessing/managers.py
Lib/test/test_multiprocessing.py

index f32dab19afe21b1ffd7423bf1a0b18eb1572eb66..02e96b969b46087acc15161df81bbcb847d06a61 100644 (file)
@@ -136,7 +136,7 @@ class Server(object):
         self.listener = Listener(address=address, backlog=5)
         self.address = self.listener.address
 
-        self.id_to_obj = {0: (None, ())}
+        self.id_to_obj = {'0': (None, ())}
         self.id_to_refcount = {}
         self.mutex = threading.RLock()
         self.stop = 0
@@ -298,7 +298,7 @@ class Server(object):
             keys = self.id_to_obj.keys()
             keys.sort()
             for ident in keys:
-                if ident != 0:
+                if ident != '0':
                     result.append('  %s:       refcount=%s\n    %s' %
                                   (ident, self.id_to_refcount[ident],
                                    str(self.id_to_obj[ident][0])[:75]))
@@ -310,7 +310,7 @@ class Server(object):
         '''
         Number of shared objects
         '''
-        return len(self.id_to_obj) - 1      # don't count ident=0
+        return len(self.id_to_obj) - 1      # don't count ident='0'
 
     def shutdown(self, c):
         '''
index d4ce4fa2fe8df2d9e21fa3371c7149861b72e5ac..33debfb3ada3c2f2a3dde8d64413a10cd80b3b47 100644 (file)
@@ -1057,8 +1057,10 @@ class _TestZZZNumberOfObjects(BaseTestCase):
         multiprocessing.active_children()  # discard dead process objs
         gc.collect()                       # do garbage collection
         refs = self.manager._number_of_objects()
+        debug_info = self.manager._debug_info()
         if refs != EXPECTED_NUMBER:
             print self.manager._debug_info()
+            print debug_info
 
         self.assertEqual(refs, EXPECTED_NUMBER)