Commit Graph

56 Commits

Author SHA1 Message Date
Victor Stinner daf455554b Issue #18571: Implementation of the PEP 446: file descriptors and file handles
are now created non-inheritable; add functions os.get/set_inheritable(),
os.get/set_handle_inheritable() and socket.socket.get/set_inheritable().
2013-08-28 00:53:59 +02:00
Richard Oudkerk 84ed9a68bd Issue #8713: Support alternative start methods in multiprocessing on Unix.
See http://hg.python.org/sandbox/sbt#spawn
2013-08-14 15:35:41 +01:00
Brett Cannon cd171c8e92 Issue #18200: Back out usage of ModuleNotFoundError (8d28d44f3a9a) 2013-07-04 17:43:24 -04:00
Richard Oudkerk 626032ac54 Issue #17097: Merge. 2013-07-01 19:10:39 +01:00
Richard Oudkerk cca8c53d6a Issue #17097: Make multiprocessing ignore EINTR. 2013-07-01 18:59:26 +01:00
Brett Cannon 0a140668fa Issue #18200: Update the stdlib (except tests) to use
ModuleNotFoundError.
2013-06-13 20:57:26 -04:00
Giampaolo Rodola' 308307190f Fix issue #17707: multiprocessing.Queue's get() method does not block for short timeouts. 2013-04-17 13:12:27 +02:00
Giampaolo Rodola' b38897fc91 Fix issue #17707: multiprocessing.Queue's get() method does not block for short timeouts. 2013-04-17 13:08:59 +02:00
Charles-François Natali a655075d16 Issue #17025: Add dumps() and loads() to ForkingPickler. 2013-03-24 15:21:49 +01:00
Giampaolo Rodola' 67da89446a fix for previous commit related to issue 10527 which didn't have the intended effect as per http://bugs.python.org/issue10527#msg179895 2013-01-14 02:24:25 +01:00
Giampaolo Rodola' 0c8ad61c95 fix for previous commit related to issue 10527 which didn't have the intended effect as per http://bugs.python.org/issue10527#msg179895 2013-01-14 02:24:05 +01:00
Richard Oudkerk 0ee84e04da Issue #16955: Fix the poll() method for multiprocessing's socket
connections on Windows.
2013-01-13 22:52:13 +00:00
Richard Oudkerk ed9e06cb21 Issue #16955: Fix the poll() method for multiprocessing's socket
connections on Windows.
2013-01-13 22:46:48 +00:00
Giampaolo Rodola' b4f39e85f2 Fix issue 10527: make multiprocessing use poll() instead of select() if available. 2012-12-31 17:38:46 +01:00
Giampaolo Rodola' 5051ca887c Fix issue 10527: make multiprocessing use poll() instead of select() if available. 2012-12-31 17:38:17 +01:00
Giampaolo Rodola' 5e844c8052 Fix issue 10527: make multiprocessing use poll() instead of select() if available. 2012-12-31 17:23:09 +01:00
Andrew Svetlov f7a17b48d7 Replace IOError with OSError (#16715) 2012-12-25 16:47:37 +02:00
Andrew Svetlov 2606a6f197 Issue #16719: Get rid of WindowsError. Use OSError instead
Patch by Serhiy Storchaka.
2012-12-19 14:33:35 +02:00
Richard Oudkerk b15e622bb8 Issue #6056: Make multiprocessing use setblocking(True) on the sockets it uses.
Original patch by J Derek Wilson.
2012-07-27 14:19:00 +01:00
Richard Oudkerk 4887b1c0e7 Issue #6056: Make multiprocessing use setblocking(True) on the sockets it uses.
Original patch by J Derek Wilson.
2012-07-27 14:06:11 +01:00
Richard Oudkerk d69cfe88ea Issue #15064: Implement context manager protocol for multiprocessing types 2012-06-18 17:47:52 +01:00
Richard Oudkerk 59d5404bc7 Issue #14753: Make multiprocessing treat negative timeouts as it did in 3.2
In Python 3.2 and earlier, Process.join() and Connection.poll()
treated negative timeouts as zero timeouts.  Earlier versions from
the 3.3 line of development treat them as infinite timeouts.

The patch reverts to the old behaviour.
2012-05-10 16:11:12 +01:00
Richard Oudkerk 7ef909cdd7 Fix for issue 14725 for 3.2 branch 2012-05-05 20:41:23 +01:00
Richard Oudkerk fdb8dcf675 Fix for Issue 14725 for 3.3 branch. 2012-05-05 19:45:37 +01:00
Richard Oudkerk 3e268aac3b Mark multiprocessing files with "Licensed to PSF under a Contributor Agreement"
instead of BSD licence.
2012-04-30 12:13:55 +01:00
Antoine Pitrou 5438ed1572 Issue #4892: multiprocessing Connections can now be transferred over multiprocessing Connections.
Patch by Richard Oudkerk (sbt).
2012-04-24 22:56:57 +02:00
Antoine Pitrou 23bba4ca39 Issue #11750: The Windows API functions scattered in the _subprocess and
_multiprocessing.win32 modules now live in a single module "_winapi".
Patch by sbt.
2012-04-18 20:51:15 +02:00
Antoine Pitrou df97cbe7a1 Issue #14522: Avoid duplicating socket handles in multiprocessing.connection.
Patch by sbt.
2012-04-07 22:38:52 +02:00
Antoine Pitrou 5c73e8eaf4 Issue #14482: Raise a ValueError, not a NameError, when trying to create
a multiprocessing Client or Listener with an AF_UNIX type address under
Windows.  Patch by Popa Claudiu.
2012-04-03 20:13:45 +02:00
Antoine Pitrou 6d20cba8d6 Issue #14482: Raise a ValueError, not a NameError, when trying to create
a multiprocessing Client or Listener with an AF_UNIX type address under
Windows.  Patch by Popa Claudiu.
2012-04-03 20:12:23 +02:00
Antoine Pitrou 93bba8fb8a Issue #14151: Raise a ValueError, not a NameError, when trying to create
a multiprocessing Client or Listener with an AF_PIPE type address under
non-Windows platforms.  Patch by Popa Claudiu.
2012-04-01 17:25:49 +02:00
Antoine Pitrou 709176f10c Issue #14151: Raise a ValueError, not a NameError, when trying to create
a multiprocessing Client or Listener with an AF_PIPE type address under
non-Windows platforms.  Patch by Popa Claudiu.
2012-04-01 17:19:09 +02:00
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
Charles-François Natali ed4a8fc095 Issue #8184: multiprocessing: On Windows, don't set SO_REUSEADDR on Connection
sockets, and set FILE_FLAG_FIRST_PIPE_INSTANCE on named pipes, to make sure two
listeners can't bind to the same socket/pipe (or any existing socket/pipe).
2012-02-08 21:15:58 +01:00
Charles-François Natali edc67feaa4 Issue #8184: Fix a potential file descriptor leak when a
multiprocessing.Connection socket can't be bound.
2012-02-04 15:12:08 +01:00
Charles-François Natali 992ca5278e Issue #8184: Fix a potential file descriptor leak when a
multiprocessing.Connection socket can't be bound.
2012-02-04 14:55:53 +01:00
Charles-François Natali e6eabd4345 Issue #13215: multiprocessing.Connection: don't hammer the remote end with
retries in case of ECONNREFUSED.
2011-11-19 09:59:43 +01:00
Antoine Pitrou 6b4883dec0 PEP 3151 / issue #12555: reworking the OS and IO exception hierarchy. 2011-10-12 02:54:14 +02:00
Charles-François Natali 225aa4f8ec Issue #12996: multiprocessing.connection: transmit the header in network byte
order (endpoints machines can have different endianness).
2011-09-20 19:27:39 +02:00
Antoine Pitrou 600012028e Add comment 2011-07-09 01:03:46 +02:00
Antoine Pitrou 71a28a9174 Rebind locally the globals which can be looked up at shutdown
(to avoid the warnings seen on a buildbot)
2011-07-09 01:03:00 +02:00
Antoine Pitrou dd69649660 Issue #9205: concurrent.futures.ProcessPoolExecutor now detects killed
children and raises BrokenProcessPool in such a situation.  Previously it
would reliably freeze/deadlock.
2011-06-08 17:21:55 +02:00
Antoine Pitrou 5aa878c61a os.dup()-then-close() can be replaced with detach() 2011-05-09 21:00:28 +02:00
Antoine Pitrou 87cf220972 Issue #11743: Rewrite multiprocessing connection classes in pure Python. 2011-05-09 17:04:27 +02:00
Marc-André Lemburg 8f36af7a4c Normalize the encoding names for Latin-1 and UTF-8 to
'latin-1' and 'utf-8'.

These are optimized in the Python Unicode implementation
to result in more direct processing, bypassing the codec
registry.

Also see issue11303.
2011-02-25 15:42:01 +00:00
Victor Stinner 2b69506c79 Issue #10816: multiprocessing.SocketClient() closes the socket on error
Use a context manager to close immediatly the socket on error.
2011-01-03 15:47:59 +00:00
R. David Murray 3fc969a4a2 9162: fix license in multiprocessing files 2010-12-14 01:38:16 +00:00
Brian Curtin a6a3274aad Fix #9513 to remove relative imports from multiprocessing.
The test suite currently skips test_multiprocessing on Windows
because it fails on finding _multiprocessing in several
win32-specific blocks. Removing the relative import lets this
through and allows the test to run (and pass).
2010-08-04 15:47:24 +00:00
Antoine Pitrou 45d61a341d Merged revisions 76245 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r76245 | antoine.pitrou | 2009-11-13 23:31:18 +0100 (ven., 13 nov. 2009) | 6 lines

  Issue #7318: multiprocessing now uses a timeout when it fails to establish
  a connection with another process, rather than looping endlessly. The
  default timeout is 20 seconds, which should be amply sufficient for
  local connections.
........
2009-11-13 22:35:18 +00:00
Jesse Noller c5d28a0b03 Merge 70717 to 30maint 2009-03-30 16:37:36 +00:00