[issue6766] Cannot modify dictionaries inside dictionaries using Managers from multiprocessing
Carlos
report at bugs.python.org
Sun Aug 23 19:46:30 CEST 2009
New submission from Carlos <carlosdf at gmail.com>:
It's not possible to modify a dict inside a dict using a manager from
multiprocessing.
Ex:
from multiprocessing import Process,Manager
def f(d):
d['1'] = '1'
d['2']['1'] = 'Try To Write'
if __name__ == '__main__':
manager = Manager()
d = manager.dict()
d['2'] = manager.dict()
print d
p = Process(target=f, args=(d,))
p.start()
p.join()
print d
d['2'] = 5
print d
The output Under Windows 7 (32 Bits) / Python 2.6.2 (32 Bits) is:
{'2': {}}
{'1': '1', '2': {}}
{'1': '1', '2': 5}
The output is the same if you change "d['2'] = manager.dict()" to
"d['2'] = dict()"
----------
messages: 91889
nosy: carlosdf
severity: normal
status: open
title: Cannot modify dictionaries inside dictionaries using Managers from multiprocessing
type: behavior
versions: Python 2.6
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue6766>
_______________________________________
More information about the Python-bugs-list
mailing list