Commit Graph

79 Commits

Author SHA1 Message Date
Andrew Svetlov 6b973747f3 Issue #16284: Prevent keeping unnecessary references to worker functions in concurrent.futures ThreadPoolExecutor. 2012-11-03 15:36:01 +02:00
Mark Dickinson 5ee2404d1e Fix concurrent.futures docstring typo: "Request Q" -> "Result Q". 2012-10-20 13:16:49 +01:00
Philip Jenvey 4993cc0a5b utilize yield from 2012-10-01 12:53:43 -07:00
Brian Quinlan a26ad5a0a1 #15015: Fix accessing an non-existing attribute. 2012-06-11 12:59:07 +10:00
Antoine Pitrou 8b34b53c52 Issue #14406: Fix a race condition when using `concurrent.futures.wait(return_when=ALL_COMPLETED)`.
Patch by Matt Joiner.
2012-03-31 20:25:22 +02:00
Antoine Pitrou f70401e842 Issue #14406: Fix a race condition when using `concurrent.futures.wait(return_when=ALL_COMPLETED)`.
Patch by Matt Joiner.
2012-03-31 20:23:30 +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
Ross Lagerwall 66e2fb68ac Issue #12364: Fix a hang in concurrent.futures.ProcessPoolExecutor. 2012-01-08 08:29:40 +02:00
Ross Lagerwall 69f39a53f6 Merge with 3.2 for #12364. 2012-01-08 08:42:03 +02:00
Florent Xicluna 04842a84c3 Remove unused or redundant imports in concurrent.futures and multiprocessing. 2011-11-11 20:05:50 +01:00
Antoine Pitrou 0b447957c7 Close the call queue in concurrent.futures.ProcessPoolExecutor when
shutdown() is called, without waiting for the garbage collector to kick in.
2011-07-16 23:52:02 +02:00
Antoine Pitrou dc19c24832 Silence spurious "broken pipe" tracebacks when shutting down a ProcessPoolExecutor. 2011-07-16 01:51:58 +02:00
Antoine Pitrou d06a065a44 Fix potential resource leaks in concurrent.futures.ProcessPoolExecutor
by joining all queues and processes when shutdown() is called.
2011-07-16 01:13:34 +02:00
Antoine Pitrou 1c405b3e60 Followup to 51c1f2cedb96 (and issue #12456):
qsize() raises NotImplementedError on OS X, don't use it.
2011-07-03 13:17:06 +02:00
Antoine Pitrou 020436b0d4 Issue #12456: fix a possible hang on shutdown of a concurrent.futures.ProcessPoolExecutor. 2011-07-02 21:20:25 +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 441f935228 Fix typo in name of private function 2011-05-03 16:35:43 +02:00
Antoine Pitrou b87a56a519 Fix typo in name of private function 2011-05-03 16:34:42 +02:00
Antoine Pitrou b7877f203d Issue #11815: Use a light-weight SimpleQueue for the result queue in concurrent.futures.ProcessPoolExecutor. 2011-04-12 17:58:11 +02:00
Antoine Pitrou 3fdd9b681d Issue #11815: Remove dead code in concurrent.futures (since a blocking Queue
cannot raise queue.Empty).
2011-04-12 17:50:20 +02:00
Antoine Pitrou 27be5da831 Issue #11815: Remove dead code in concurrent.futures (since a blocking Queue
cannot raise queue.Empty).
2011-04-12 17:48:46 +02:00
Brian Quinlan f007876bd6 Issue #11777: Executor.map does not submit futures until iter.next() is called 2011-04-08 08:19:33 +10:00
Antoine Pitrou c13d454e84 Issue #11635: Don't use polling in worker threads and processes launched by
concurrent.futures.
2011-03-26 19:29:44 +01:00
Martin v. Löwis 9f6d48ba4e Issue #10798: Reject supporting concurrent.futures if the system has
too few POSIX semaphores.
2011-01-03 00:07:01 +00:00
Brian Quinlan 251cc846f3 Does not install a logging handler. Fixes issue 10626. 2010-12-28 21:14:34 +00:00
Georg Brandl fb1720b0f5 Fix "seperate". 2010-12-09 18:08:43 +00:00
Brian Quinlan 3ec60183a4 Removes an inefficient spin loop in as_completed 2010-11-17 11:06:29 +00:00
Brian Quinlan 1e2ae4f054 Fixes 9903: test_concurrent_futures writes on stderr 2010-10-06 13:05:45 +00:00
Brian Quinlan 81c4d36928 Initial implementation of PEP 3148 2010-09-18 22:35:02 +00:00