Available on Unix platforms which support passing file descriptors
over Unix pipes.
-.. versionchanged:: 3.8
-
- On macOS, the *spawn* start method is now the default. The *fork* start
- method should be considered unsafe as it can lead to crashes of the
- subprocess. See :issue:`33725`.
-
.. versionchanged:: 3.4
*spawn* added on all Unix platforms, and *forkserver* added for
some Unix platforms.
Child processes no longer inherit all of the parents inheritable
handles on Windows.
-On Unix using the *spawn* or *forkserver* start methods will also
+.. versionchanged:: 3.8
+
+ On macOS, the *spawn* start method is now the default. The *fork* start
+ method should be considered unsafe as it can lead to crashes of the
+ subprocess as macOS system libraries may start threads. See :issue:`33725`.
+
+On POSIX using the *spawn* or *forkserver* start methods will also
start a *resource tracker* process which tracks the unlinked named
system resources (such as named semaphores or
:class:`~multiprocessing.shared_memory.SharedMemory` objects) created
to the process.
.. versionchanged:: 3.3
- Added the *daemon* argument.
+ Added the *daemon* parameter.
.. method:: run()
Connection objects themselves can now be transferred between processes
using :meth:`Connection.send` and :meth:`Connection.recv`.
- .. versionadded:: 3.3
- Connection objects now support the context management protocol -- see
+ Connection objects also now support the context management protocol -- see
:ref:`typecontextmanager`. :meth:`~contextmanager.__enter__` returns the
connection object, and :meth:`~contextmanager.__exit__` calls :meth:`close`.
as CPython does not assure that the finalizer of the pool will be called
(see :meth:`object.__del__` for more information).
- .. versionadded:: 3.2
- *maxtasksperchild*
+ .. versionchanged:: 3.2
+ Added the *maxtasksperchild* parameter.
- .. versionadded:: 3.4
- *context*
+ .. versionchanged:: 3.4
+ Added the *context* parameter.
.. note::
Wait for the worker processes to exit. One must call :meth:`close` or
:meth:`terminate` before using :meth:`join`.
- .. versionadded:: 3.3
+ .. versionchanged:: 3.3
Pool objects now support the context management protocol -- see
:ref:`typecontextmanager`. :meth:`~contextmanager.__enter__` returns the
pool object, and :meth:`~contextmanager.__exit__` calls :meth:`terminate`.
The address from which the last accepted connection came. If this is
unavailable then it is ``None``.
- .. versionadded:: 3.3
+ .. versionchanged:: 3.3
Listener objects now support the context management protocol -- see
:ref:`typecontextmanager`. :meth:`~contextmanager.__enter__` returns the
listener object, and :meth:`~contextmanager.__exit__` calls :meth:`close`.