cpython/Lib/multiprocessing
Jake Tesler c6b20be85c bpo-38707: Fix for multiprocessing.Process MainThread.native_id (GH-17088)
This PR implements a fix for `multiprocessing.Process` objects; the error occurs when Processes are created using either `fork` or `forkserver` as the `start_method`.

In these instances, the `MainThread` of the newly created `Process` object retains all attributes from its parent's `MainThread` object, including the `native_id` attribute. The resulting behavior is such that the new process' `MainThread` captures an incorrect/outdated `native_id` (the parent's instead of its own). 

This change forces the Process object to update its `native_id` attribute during the bootstrap process.

cc @vstinner





https://bugs.python.org/issue38707



Automerge-Triggered-By: @pitrou
2019-11-19 11:50:12 -08:00
..
dummy bpo-37116: Use PEP 570 syntax for positional-only parameters. (GH-13700) 2019-06-01 11:00:15 +03:00
__init__.py
connection.py bpo-17560: Too small type for struct.pack/unpack in mutliprocessing.Connection (GH-10305) 2018-11-06 20:38:34 +01:00
context.py bpo-33725: multiprocessing uses spawn by default on macOS (GH-13603) 2019-05-28 16:02:50 +02:00
forkserver.py bpo-37421: multiprocessing tests now stop ForkServer (GH-14601) 2019-07-05 16:15:39 +02:00
heap.py
managers.py [3.9] bpo-37116: Use PEP 570 syntax for positional-only parameters. (GH-12620) 2019-06-05 18:22:31 +03:00
pool.py bpo-37116: Use PEP 570 syntax for positional-only parameters. (GH-13700) 2019-06-01 11:00:15 +03:00
popen_fork.py bpo-36888: Add multiprocessing.parent_process() (GH-13247) 2019-05-20 21:37:05 +02:00
popen_forkserver.py bpo-36888: Add multiprocessing.parent_process() (GH-13247) 2019-05-20 21:37:05 +02:00
popen_spawn_posix.py bpo-36888: Add multiprocessing.parent_process() (GH-13247) 2019-05-20 21:37:05 +02:00
popen_spawn_win32.py bpo-38092: Reduce overhead when using multiprocessing in a Windows virtual environment (GH-16098) 2019-09-13 09:40:19 -07:00
process.py bpo-38707: Fix for multiprocessing.Process MainThread.native_id (GH-17088) 2019-11-19 11:50:12 -08:00
queues.py
reduction.py
resource_sharer.py bpo-36766: Typos in docs and code comments (GH-13116) 2019-05-06 14:57:17 -04:00
resource_tracker.py bpo-36894: Fix regression in test_multiprocessing_spawn (no tests run on Windows) (GH-13290) 2019-05-13 20:02:46 +02:00
shared_memory.py bpo-36867: Make semaphore_tracker track other system resources (GH-13222) 2019-05-10 22:59:08 +02:00
sharedctypes.py
spawn.py bpo-38092: Reduce overhead when using multiprocessing in a Windows virtual environment (GH-16098) 2019-09-13 09:40:19 -07:00
synchronize.py bpo-36867: Make semaphore_tracker track other system resources (GH-13222) 2019-05-10 22:59:08 +02:00
util.py bpo-38417: Add umask support to subprocess (GH-16726) 2019-10-12 13:24:56 -07:00