bpo-36867: DOC update multiprocessing.rst (GH-13289)

Followup to bpo-36867.
This commit is contained in:
Pierre Glaser 2019-05-13 19:20:48 +02:00 committed by Antoine Pitrou
parent b0917df329
commit 50466c6650
1 changed files with 10 additions and 6 deletions

View File

@ -131,13 +131,17 @@ to start a process. These *start methods* are
handles on Windows.
On Unix using the *spawn* or *forkserver* start methods will also
start a *semaphore tracker* process which tracks the unlinked named
semaphores created by processes of the program. When all processes
have exited the semaphore tracker unlinks any remaining semaphores.
start a *resource tracker* process which tracks the unlinked named
system resources (such as named semaphores or
:class:`~multiprocessing.shared_memory.SharedMemory` objects) created
by processes of the program. When all processes
have exited the resource tracker unlinks any remaining tracked object.
Usually there should be none, but if a process was killed by a signal
there may be some "leaked" semaphores. (Unlinking the named semaphores
is a serious matter since the system allows only a limited number, and
they will not be automatically unlinked until the next reboot.)
there may be some "leaked" resources. (Neither leaked semaphores nor shared
memory segments will be automatically unlinked until the next reboot. This is
problematic for both objects because the system allows only a limited number of
named semaphores, and shared memory segments occupy some space in the main
memory.)
To select a start method you use the :func:`set_start_method` in
the ``if __name__ == '__main__'`` clause of the main module. For