[issue12328] multiprocessing's overlapped PipeConnection on Windows

Antoine Pitrou report at bugs.python.org
Tue Jun 14 00:46:10 CEST 2011


Antoine Pitrou <pitrou at free.fr> added the comment:

Hello,

Thanks for the patch.

>    I would suggest making it a programming error for the overlapped
>    object to be deallocated while the operation is still pending, and
>    to print a RuntimeError if that happens.  (This does not prevent us
>    from still trying to prevent a crash using CancelIoEx().)

Sounds ok to me.

> 6) Not a bug exactly, but poll(timeout) is no longer interruptible
>    with Ctrl-C.  This also means that Queue.get() is no longer
>    interruptible.

There is infrastructure in _multiprocessing to handle Ctrl-C. Look for
"sigint_event" in Modules/_multiprocessing/*. This could be the topic of
a separate issue and patch.

> The unit tests attached pass on Unix.  On Windows versions up to 3.2,
> only test_empty_string fails.  On Windows version 3.3 all three fail.

Could you make the tests part of Lib/test/test_multiprocessing.py?

Also, what is the rationale for the following change:

-            elif timeout == 0.0:
+            elif timeout == 0.0 and nleft != 0:
                 return False

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue12328>
_______________________________________


More information about the Python-bugs-list mailing list