Tim Alexander <dragonfyr...@gmail.com> added the comment: Wanted to quickly comment here, as I'm dealing with this issue as well, that I did find a workaround for avoiding it as far back as 2.6 (and it's not "don't pass a Pipe through a Pipe")
multiprocessing.reduction can already do this, though I don't entirely know why this isn't automatically done if it's a connection object. >>> from multiprocessing import Pipe, reduction >>> i, o = Pipe() >>> reduced = reduction.reduce_connection(i) >>> newi = reduced[0](*reduced[1]) >>> newi.send("hi") >>> o.recv() 'hi' >>> The reduced[0](*reduced[1]) line is actually calling reduction.rebuild_connection, as that function is the first element in the tuple, and the second element is the arguments to be passed to it. I can't seem to find any info on reduction.reduce_connection, so I don't know if this is how this was intended to be handled or not. P.S. Tested on Win (XP) and Linux (Ubuntu 10.10), so there's no weird windows socket stuff that should go wrong with this. ---------- nosy: +dragonfyre13 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue4892> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com