Message157736
| Author |
sbt |
| Recipients |
Jimbofbx, asksol, dragonfyre13, dsvensson, gsson, jnoller, jodal, pitrou, sbt |
| Date |
2012年04月07日.15:52:05 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1333813926.35.0.775745164983.issue4892@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
Jimbofbx wrote:
> def main():
> from multiprocessing import Pipe, reduction
> i, o = Pipe()
> print(i);
> reduced = reduction.reduce_connection(i)
> print(reduced);
> newi = reduced[0](*reduced[1])
> print(newi);
> newi.send("hi")
> o.recv()
On Windows with a PipeConnection object you should use rebuild_pipe_connection() instead of rebuild_connection(). With that change, on Python 3.3 I get
<multiprocessing.connection.PipeConnection object at 0x025BBCB0>
(<function rebuild_pipe_connection at 0x0262F420>, (('\\\\.\\pipe\\pyc-6000年1月30日lq4p', 356, False), True, True))
<multiprocessing.connection.PipeConnection object at 0x029FF710>
Having said all that I agree multiprocessing.reduction should be fixed. Maybe an enable_pickling_support() function could be added to register the necessary things with copyreg. |
|