| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Global variables should not used as import target.
Use temporary variable instead.
|
| |
|
|
|
|
| |
Where a queue may be invoked from a weakref callback, we need
to use the reentrant SimpleQueue.
|
|
|
|
|
|
| |
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
* Fix docstring
|
| |
|
|
|
|
|
|
|
| |
(#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.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
| |
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
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 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.
|
| |
|
|
|
|
| |
the ability to specify a thread name prefix.
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| | |
ProcessPoolExecutor, the remote traceback is now displayed in the parent process.
Patch by Claudiu Popa.
|
| |
| |
| |
| |
| | |
argument to allow batching of tasks in child processes and improve
performance of ProcessPoolExecutor. Patch by Dan O'Reilly.
|
| |
| |
| |
| | |
Popa.)
|
| |
| |
| |
| | |
class name instead of hardcoded one.
|
|/ |
|
|
|
|
| |
have completed
|
|
|
|
| |
Patch by Glenn Langford.
|
| |
|
|\ |
|
| | |
|
| |
| |
| |
| | |
applicable.
|
|\ \
| |/
| |
| | |
3.4 Lib/*, as reported by Serhiy Storchaka and Matthew Barnett.
|
| |\
| | |
| | |
| | | |
3.4 Lib/*, as reported by Serhiy Storchaka and Matthew Barnett.
|
| | |
| | |
| | |
| | | |
as reported by Serhiy Storchaka and Matthew Barnett.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
concurrent.futures ThreadPoolExecutor.
|
| | | |
|
|/ / |
|
| | |
|
|\ \
| |/
| |
| |
| |
| | |
`concurrent.futures.wait(return_when=ALL_COMPLETED)`.
Patch by Matt Joiner.
|
| |
| |
| |
| |
| |
| | |
`concurrent.futures.wait(return_when=ALL_COMPLETED)`.
Patch by Matt Joiner.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| |/ |
|
| | |
|
| |
| |
| |
| | |
shutdown() is called, without waiting for the garbage collector to kick in.
|
| | |
|
| |
| |
| |
| | |
ProcessPoolExecutor.
|
| |
| |
| |
| | |
by joining all queues and processes when shutdown() is called.
|
| |
| |
| |
| | |
qsize() raises NotImplementedError on OS X, don't use it.
|