| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
* Clear potential ref cycle between Process and Process target
Besides Process.join() not being called, this was an indirect cause of bpo-30775.
The threading module already does this.
* Add issue reference
|
|
|
|
|
|
|
|
|
|
| |
* Fix bpo-30596: Add close() method to multiprocessing.Process
* Raise ValueError if close() is called before the Process is finished running
* Add docs
* Add NEWS blurb
|
|
|
|
|
|
|
|
|
|
|
| |
* bpo-24484: Avoid race condition in multiprocessing cleanup
The finalizer registry can be mutated while inspected by multiprocessing
at process exit.
* Use test.support.start_threads()
* Add Misc/NEWS
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
#1989) (#2139)
* Fix race condition in signal wakeup in forkserver (followup to PR #1989)
There's an admittedly well-known race condition where ECHILD can arrive
just before the C function epoll_wait() and the latter wouldn't therefore
return EINTR. The solution is to use set_wakeup_fd(), which was designed
to avoid such race conditions.
* Reset wakeup fd in child
|
|
|
|
|
|
|
|
| |
* Fix bpo-30589: improve Process.exitcode with forkserver
When the child is killed, Process.exitcode should return -signum, not 255.
* Add Misc/NEWS
|
|
|
|
|
|
|
| |
multiprocessing.Queue.get() with a timeout now polls its reader in
non-blocking mode if it succeeded to aquire the lock but the acquire
took longer than the timeout.
Co-Authored-By: Grzegorz Grzywacz <grzgrzgrz3@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
* bpo-16500: Allow registering at-fork handlers
* Address Serhiy's comments
* Add doc for new C API
* Add doc for new Python-facing function
* Add NEWS entry + doc nit
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#1683)
* bpo-30414: multiprocesing.Queue._feed do not break from main loop on exc
Queue background running thread was not handling exceptions correctly.
Any exception occurred inside thread (putting unpickable object) cause
feeder to finish running. After that every message put into queue is
silently ignored.
* bpo-30414: multiprocesing.Queue._feed do not break from main loop on exc
Queue background running thread was not handling exceptions correctly.
Any exception occurred inside thread (putting unpickable object) cause
feeder to finish running. After that every message put into queue is
silently ignored.
|
|
|
|
|
|
|
|
| |
* Replaced list(<generator expression>) with list comprehension
* Replaced dict(<generator expression>) with dict comprehension
* Replaced set(<list literal>) with set literal
* Replaced builtin func(<list comprehension>) with func(<generator
expression>) when supported (e.g. any(), all(), tuple(), min(), &
max())
|
|
|
|
|
| |
Under *spawn* and *forkserver* start methods, SimpleQueue.empty() could
raise AttributeError due to not setting _poll in __setstate__.
|
|
|
|
|
|
| |
* bpo-30185: avoid KeyboardInterrupt tracebacks in forkserver
* Tweak comment
|
| |
|
|
|
| |
This hides unwanted implementation details from tracebacks.
|
|
|
|
|
| |
an exception raised at the very first of an iterable would cause pools behave abnormally
(swallow the exception or hang)
|
|
|
| |
Make also minor PEP8 coding style fixes on modified imports.
|
|
|
|
|
|
|
|
|
|
| |
* bpo-29861: release references to multiprocessing Pool tasks
Release references to tasks, their arguments and their results as soon
as they are finished, instead of keeping them alive until another task
arrives.
* Comments in test
|
| |
|
|\
| |
| |
| | |
forkserver process if a preloaded module instantiated some multiprocessing objects such as locks.
|
| |
| |
| |
| | |
forkserver process if a preloaded module instantiated some multiprocessing objects such as locks.
|
| | |
|
|\ \
| |/
| |
| | |
server to client for certain exceptions
|
| |
| |
| |
| | |
server to client for certain exceptions
|
| | |
|
|\ \
| |/
| |
| | |
messages.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* multiprocessing: open file with closefd=False to avoid ResourceWarning
* _test_multiprocessing: open file with O_EXCL to detect bugs in tests (if a
previous test forgot to remove TESTFN)
* test_sys_exit(): remove TESTFN after each loop iteration
Initial patch written by Serhiy Storchaka.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* multiprocessing: open file with closefd=False to avoid ResourceWarning
* _test_multiprocessing: open file with O_EXCL to detect bugs in tests (if a
previous test forgot to remove TESTFN)
* test_sys_exit(): remove TESTFN after each loop iteration
Initial patch written by Serhiy Storchaka.
|
|/ |
|
| |
|
|
|
|
| |
to ASCII replacements. Original patch by Chris Angelico.
|
|
|
|
|
|
| |
array that's larger than 50% of the available RAM.
Patch by Médéric Boquien.
|
|\
| |
| |
| |
| | |
robust at shutdown. If needs to release multiple resources, they are released
even if errors are occured.
|
| |
| |
| |
| |
| | |
robust at shutdown. If needs to release multiple resources, they are released
even if errors are occured.
|
|\ \
| |/
| |
| |
| |
| | |
available.
Patch by Davin Potts.
|
| |
| |
| |
| |
| |
| | |
available.
Patch by Davin Potts.
|
|\ \
| |/
| |
| |
| | |
handle exceptions raised by an iterator. Patch by Alon Diamant and Davin
Potts.
|
| |
| |
| |
| |
| | |
handle exceptions raised by an iterator. Patch by Alon Diamant and Davin
Potts.
|
|\ \
| |/
| |
| | |
later
|
| |
| |
| |
| | |
later
|
| | |
|
| |
| |
| |
| | |
This is to keep buildbots running while we figure out the best long-term fix.
|
|\ \
| |/ |
|
| | |
|
| |
| |
| |
| | |
Followup to issue #20540; patch by Serhiy.
|
| |
| |
| |
| | |
class name instead of hardcoded one.
|
| | |
|
|\ \
| |/ |
|
| | |
|
|/
|
|
| |
primitives.
|
| |
|