[issue9801] Can not use append/extend to lists in a multiprocessing manager dict

James Hutchison report at bugs.python.org
Thu Sep 23 17:55:46 CEST 2010

James Hutchison <jamesghutchison at gmail.com> added the comment:

Is there a way to get this so it behaves more intuitively? You'd think adding a managed list to a managed dictionary (or another managed list) or making a deep copy would work but it still doesn't. When you get an item from a managed data structure, it seems to be returning a data-only copy of the object instead of a handle to the manager of the object. The fact that += (extend) works but .extend() doesn't work also seems to raise a flag for me (although I do understand why this is). I don't think it should behave this way.

d['l'] -> return copy.deepcopy(d['l'])

should be:
d['l'] -> return managerObject(d['l'])
where managerObject is a managed object that runs on the same process as the manager it came from

Problem: Currently there is no easy way to do random access without copying out and copying back in. I'd think that would be a real efficiency problem.


Python tracker <report at bugs.python.org>

More information about the Python-bugs-list mailing list