summaryrefslogtreecommitdiffstats
path: root/Lib/concurrent
Commit message (Collapse)AuthorAgeFilesLines
* bpo-33238: Add InvalidStateError to concurrent.futures. (GH-7056)jhaydaman2018-05-302-0/+9
| | | | | | | Future.set_result and Future.set_exception now raise InvalidStateError if the futures are not pending or running. This mirrors the behavior of asyncio.Future, and prevents AssertionErrors in asyncio.wrap_future when set_result is called multiple times.
* bpo-33097: Fix submit accepting callable after executor shutdown by ↵Mark Nemec2018-04-102-0/+14
| | | | | | interpreter exit (GH-6144) Executors in concurrent.futures accepted tasks after executor was shutdown by interpreter exit. Tasks were left in PENDING state forever. This fix changes submit to instead raise a RuntimeError.
* bpo-33056 FIX leaking fd in concurrent.futures.ProcessPoolExecutor (#6084)Thomas Moreau2018-03-121-2/+9
|
* bpo-32596: Make lazy-load portable (GH-5316)INADA Naoki2018-01-261-4/+6
| | | | Global variables should not used as import target. Use temporary variable instead.
* bpo-32596: Lazy import concurrent.futures.process and thread (GH-5241)INADA Naoki2018-01-201-2/+33
|
* bpo-32576: use queue.SimpleQueue in critical places (#5216)Antoine Pitrou2018-01-181-1/+1
| | | | Where a queue may be invoked from a weakref callback, we need to use the reentrant SimpleQueue.
* bpo-31699 Deadlocks in `concurrent.futures.ProcessPoolExecutor` with ↵Thomas Moreau2018-01-051-49/+159
| | | | | | pickling error (#3895) Fix deadlocks in :class:`concurrent.futures.ProcessPoolExecutor` when task arguments or results cause pickling or unpickling errors. This should make sure that calls to the :class:`ProcessPoolExecutor` API always eventually return.
* bpo-21423: Add an initializer argument to {Process,Thread}PoolExecutor (#4241)Antoine Pitrou2017-11-044-10/+84
| | | | | | * bpo-21423: Add an initializer argument to {Process,Thread}PoolExecutor * Fix docstring
* bpo-31540: Allow passing multiprocessing context to ProcessPoolExecutor (#3682)Thomas Moreau2017-10-031-29/+37
|
* bpo-31641: Allow arbitrary iterables in `concurrent.futures.as_completed()` ↵Łukasz Langa2017-09-291-2/+1
| | | | | | | (#3830) This was possible before. GH-1560 introduced a regression after 3.6.2 got released where only sequences were accepted now. This commit addresses this problem.
* Fix a c.f.as_completed() refleak previously introduced in bpo-27144 (#3270)Antoine Pitrou2017-09-031-7/+19
|
* bpo-31326: ProcessPoolExecutor waits for the call queue thread (#3265)Victor Stinner2017-09-011-1/+5
| | | | | | | | | | * bpo-31326: ProcessPoolExecutor waits for the call queue thread concurrent.futures.ProcessPoolExecutor.shutdown() now explicitly closes the call queue. Moreover, shutdown(wait=True) now also join the call queue thread, to prevent leaking a dangling thread. * Fix for shutdown() being called twice.
* bpo-27144: concurrent.futures as_complete and map iterators do not keep ↵Grzegorz Grzywacz2017-09-012-10/+41
| | | | | | | | | | reference to returned object (#1560) * bpo-27144: concurrent.futures as_complie and map iterators do not keep reference to returned object * Some nits. Improve wordings in docstrings and comments, and avoid relying on sys.getrefcount() in tests.
* bpo-31249: Fix ref cycle in ThreadPoolExecutor (#3178)Victor Stinner2017-08-221-2/+4
| | | | | | | | | | | | | * bpo-31249: Fix ref cycle in ThreadPoolExecutor concurrent.futures: WorkItem.run() used by ThreadPoolExecutor now breaks a reference cycle between an exception object and the WorkItem object. ThreadPoolExecutor.shutdown() now also clears its threads set. * shutdown() now only clears threads if wait is true. * Revert changes on shutdown()
* bpo-29212: Fix the ugly repr() ThreadPoolExecutor thread name. (#2315)Gregory P. Smith2017-06-221-1/+7
| | | | | | | bpo-29212: Fix the ugly ThreadPoolExecutor thread name. Fixes the newly introduced ugly default thread name for concurrent.futures thread.ThreadPoolExecutor threads. They'll now resemble the old <=3.5 threading default Thread-x names by being named ThreadPoolExecutor-y_n.
* Issue #27895: Spelling fixes (Contributed by Ville Skyttä).Raymond Hettinger2016-08-302-2/+2
|
* Issue #27664: Add to concurrent.futures.thread.ThreadPoolExecutor()Gregory P. Smith2016-08-071-3/+8
| | | | the ability to specify a thread name prefix.
* Issue #25523: Further a-to-an corrections new in 3.5Martin Panter2015-11-021-1/+1
|
* Issue #25523: Merge "a" to "an" fixes from 3.4 into 3.5Martin Panter2015-11-021-1/+1
|\
| * Issue #25523: Correct "a" article to "an" articleMartin Panter2015-11-021-1/+1
| | | | | | | | | | | | This changes the main documentation, doc strings, source code comments, and a couple error messages in the test suite. In some cases the word was removed or edited some other way to fix the grammar.
* | Issue #21817: When an exception is raised in a task submitted to a ↵Antoine Pitrou2015-01-171-2/+24
| | | | | | | | | | | | ProcessPoolExecutor, the remote traceback is now displayed in the parent process. Patch by Claudiu Popa.
* | Issue #11271: concurrent.futures.Executor.map() now takes a *chunksize*Antoine Pitrou2014-10-042-1/+56
| | | | | | | | | | argument to allow batching of tasks in child processes and improve performance of ProcessPoolExecutor. Patch by Dan O'Reilly.
* | Closes #21527: Add default number of workers to ThreadPoolExecutor. (Claudiu ↵Guido van Rossum2014-09-021-1/+6
| | | | | | | | Popa.)
* | Issue #22033: Reprs of most Python implemened classes now contain actualSerhiy Storchaka2014-07-251-6/+9
| | | | | | | | class name instead of hardcoded one.
* | Issue #21362: concurrent.futures does not validate that max_workers is properBrian Quinlan2014-05-172-0/+6
|/
* Issue #20319: concurrent.futures.wait() can block forever even if Futures ↵Brian Quinlan2014-02-011-2/+4
| | | | have completed
* Fix issue #20367: concurrent.futures.as_completed() for duplicate arguments.Guido van Rossum2014-01-261-2/+4
| | | | Patch by Glenn Langford.
* Fix import of SimpleQueue.Richard Oudkerk2013-10-161-1/+2
|
* #18741: merge with 3.3.Ezio Melotti2013-08-171-2/+2
|\
| * #18741: fix more typos. Patch by Févry Thibault.Ezio Melotti2013-08-171-2/+2
| |
* | Issue #17914: Use os.cpu_count() instead of multiprocessing.cpu_count() whereCharles-François Natali2013-06-281-1/+1
| | | | | | | | applicable.
* | Merge 3.3, issue #17047: remove doubled words found in 2.7 toTerry Jan Reedy2013-03-111-1/+1
|\ \ | |/ | | | | 3.4 Lib/*, as reported by Serhiy Storchaka and Matthew Barnett.
| * Merge 3.2, issue #17047: remove doubled words found in 2.7 toTerry Jan Reedy2013-03-111-1/+1
| |\ | | | | | | | | | 3.4 Lib/*, as reported by Serhiy Storchaka and Matthew Barnett.
| | * Issue #17047: remove doubled words found in 2.7 to 3.4 Lib/*,Terry Jan Reedy2013-03-111-1/+1
| | | | | | | | | | | | as reported by Serhiy Storchaka and Matthew Barnett.
| * | Fix docstring typo in concurrent.futures.FutureEli Bendersky2013-01-171-1/+1
| | |
* | | Fix docstring typo in concurrent.futures.FutureEli Bendersky2013-01-171-1/+1
| | |
* | | Issue #16284: Prevent keeping unnecessary references to worker functions in ↵Andrew Svetlov2012-11-032-0/+6
| | | | | | | | | | | | concurrent.futures ThreadPoolExecutor.
* | | Fix concurrent.futures docstring typo: "Request Q" -> "Result Q".Mark Dickinson2012-10-201-1/+1
| | |
* | | utilize yield fromPhilip Jenvey2012-10-011-2/+1
|/ /
* | #15015: Fix accessing an non-existing attribute.Brian Quinlan2012-06-111-2/+2
| |
* | Issue #14406: Fix a race condition when using ↵Antoine Pitrou2012-03-311-3/+5
|\ \ | |/ | | | | | | | | `concurrent.futures.wait(return_when=ALL_COMPLETED)`. Patch by Matt Joiner.
| * Issue #14406: Fix a race condition when using ↵Antoine Pitrou2012-03-311-3/+5
| | | | | | | | | | | | `concurrent.futures.wait(return_when=ALL_COMPLETED)`. Patch by Matt Joiner.
* | Issue #12328: Fix multiprocessing's use of overlapped I/O on Windows.Antoine Pitrou2012-03-051-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge with 3.2 for #12364.Ross Lagerwall2012-01-081-3/+0
|\ \ | |/
| * Issue #12364: Fix a hang in concurrent.futures.ProcessPoolExecutor.Ross Lagerwall2012-01-081-6/+1
| |
| * Close the call queue in concurrent.futures.ProcessPoolExecutor whenAntoine Pitrou2011-07-161-0/+1
| | | | | | | | shutdown() is called, without waiting for the garbage collector to kick in.
* | Remove unused or redundant imports in concurrent.futures and multiprocessing.Florent Xicluna2011-11-113-4/+2
| |
* | Silence spurious "broken pipe" tracebacks when shutting down a ↵Antoine Pitrou2011-07-151-4/+7
| | | | | | | | ProcessPoolExecutor.
* | Fix potential resource leaks in concurrent.futures.ProcessPoolExecutorAntoine Pitrou2011-07-151-1/+4
| | | | | | | | by joining all queues and processes when shutdown() is called.
* | Followup to 51c1f2cedb96 (and issue #12456):Antoine Pitrou2011-07-031-10/+10
| | | | | | | | qsize() raises NotImplementedError on OS X, don't use it.