diff --git a/Lib/multiprocessing/managers.py b/Lib/multiprocessing/managers.py index 78c1fe71564..cb102e50fb5 100644 --- a/Lib/multiprocessing/managers.py +++ b/Lib/multiprocessing/managers.py @@ -139,7 +139,7 @@ def __init__(self, registry, address, authkey, serializer): 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 @@ -301,7 +301,7 @@ def debug_info(self, c): keys = list(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])) @@ -313,7 +313,7 @@ def number_of_objects(self, c): ''' 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): ''' diff --git a/Lib/test/test_multiprocessing.py b/Lib/test/test_multiprocessing.py index 9a307dee7ac..3681c60d50d 100644 --- a/Lib/test/test_multiprocessing.py +++ b/Lib/test/test_multiprocessing.py @@ -1058,8 +1058,10 @@ def test_number_of_objects(self): 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)