cpython/Modules/_multiprocessing
Antoine Pitrou bdb1cf1ca5 Issue #12328: Fix multiprocessing's use of overlapped I/O on Windows.
Also, add a multiprocessing.connection.wait(rlist, timeout=None) function
for polling multiple objects at once.  Patch by sbt.

Complete changelist from sbt's patch:

* Adds a wait(rlist, timeout=None) function for polling multiple
  objects at once.  On Unix this is just a wrapper for
  select(rlist, [], [], timeout=None).

* Removes use of the SentinelReady exception and the sentinels argument
  to certain methods.  concurrent.futures.process has been changed to
  use wait() instead of SentinelReady.

* Fixes bugs concerning PipeConnection.poll() and messages of zero
  length.

* Fixes PipeListener.accept() to call ConnectNamedPipe() with
  overlapped=True.

* Fixes Queue.empty() and SimpleQueue.empty() so that they are
  threadsafe on Windows.

* Now PipeConnection.poll() and wait() will not modify the pipe except
  possibly by consuming a zero length message.  (Previously poll()
  could consume a partial message.)

* All of multiprocesing's pipe related blocking functions/methods are
  now interruptible by SIGINT on Windows.
2012-03-05 19:28:37 +01:00
..
multiprocessing.c Fix compilation warning on Windows 2011-12-17 10:23:14 +01:00
multiprocessing.h Issue #12328: Under Windows, refactor handling of Ctrl-C events and 2011-11-21 21:26:56 +01:00
semaphore.c Issue #10350: Read and save errno before calling a function which might overwrite it. 2011-12-16 12:29:37 +01:00
win32_functions.c Issue #12328: Fix multiprocessing's use of overlapped I/O on Windows. 2012-03-05 19:28:37 +01:00