bpo-32362: Fix references to non-existent multiprocessing.Connection() (GH-6223)

This commit is contained in:
Bo Bayles 2018-04-29 13:03:05 -05:00 committed by Serhiy Storchaka
parent 7d68bfa826
commit 9f3535c9cd
1 changed files with 17 additions and 11 deletions

View File

@ -735,8 +735,9 @@ For an example of the usage of queues for interprocess communication see
.. function:: Pipe([duplex]) .. function:: Pipe([duplex])
Returns a pair ``(conn1, conn2)`` of :class:`Connection` objects representing Returns a pair ``(conn1, conn2)`` of
the ends of a pipe. :class:`~multiprocessing.connection.Connection` objects representing the
ends of a pipe.
If *duplex* is ``True`` (the default) then the pipe is bidirectional. If If *duplex* is ``True`` (the default) then the pipe is bidirectional. If
*duplex* is ``False`` then the pipe is unidirectional: ``conn1`` can only be *duplex* is ``False`` then the pipe is unidirectional: ``conn1`` can only be
@ -1021,10 +1022,13 @@ Miscellaneous
Connection Objects Connection Objects
~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
.. currentmodule:: multiprocessing.connection
Connection objects allow the sending and receiving of picklable objects or Connection objects allow the sending and receiving of picklable objects or
strings. They can be thought of as message oriented connected sockets. strings. They can be thought of as message oriented connected sockets.
Connection objects are usually created using :func:`Pipe` -- see also Connection objects are usually created using
:func:`Pipe <multiprocessing.Pipe>` -- see also
:ref:`multiprocessing-listeners-clients`. :ref:`multiprocessing-listeners-clients`.
.. class:: Connection .. class:: Connection
@ -1159,6 +1163,8 @@ For example:
Synchronization primitives Synchronization primitives
~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
.. currentmodule:: multiprocessing
Generally synchronization primitives are not as necessary in a multiprocess Generally synchronization primitives are not as necessary in a multiprocess
program as they are in a multithreaded program. See the documentation for program as they are in a multithreaded program. See the documentation for
:mod:`threading` module. :mod:`threading` module.
@ -2269,7 +2275,7 @@ Listeners and Clients
:synopsis: API for dealing with sockets. :synopsis: API for dealing with sockets.
Usually message passing between processes is done using queues or by using Usually message passing between processes is done using queues or by using
:class:`~multiprocessing.Connection` objects returned by :class:`~Connection` objects returned by
:func:`~multiprocessing.Pipe`. :func:`~multiprocessing.Pipe`.
However, the :mod:`multiprocessing.connection` module allows some extra However, the :mod:`multiprocessing.connection` module allows some extra
@ -2299,7 +2305,7 @@ multiple connections at the same time.
.. function:: Client(address[, family[, authkey]]) .. function:: Client(address[, family[, authkey]])
Attempt to set up a connection to the listener which is using address Attempt to set up a connection to the listener which is using address
*address*, returning a :class:`~multiprocessing.Connection`. *address*, returning a :class:`~Connection`.
The type of the connection is determined by *family* argument, but this can The type of the connection is determined by *family* argument, but this can
generally be omitted since it can usually be inferred from the format of generally be omitted since it can usually be inferred from the format of
@ -2349,8 +2355,8 @@ multiple connections at the same time.
.. method:: accept() .. method:: accept()
Accept a connection on the bound socket or named pipe of the listener Accept a connection on the bound socket or named pipe of the listener
object and return a :class:`~multiprocessing.Connection` object. If object and return a :class:`~Connection` object.
authentication is attempted and fails, then If authentication is attempted and fails, then
:exc:`~multiprocessing.AuthenticationError` is raised. :exc:`~multiprocessing.AuthenticationError` is raised.
.. method:: close() .. method:: close()
@ -2386,7 +2392,7 @@ multiple connections at the same time.
For both Unix and Windows, an object can appear in *object_list* if For both Unix and Windows, an object can appear in *object_list* if
it is it is
* a readable :class:`~multiprocessing.Connection` object; * a readable :class:`~multiprocessing.connection.Connection` object;
* a connected and readable :class:`socket.socket` object; or * a connected and readable :class:`socket.socket` object; or
* the :attr:`~multiprocessing.Process.sentinel` attribute of a * the :attr:`~multiprocessing.Process.sentinel` attribute of a
:class:`~multiprocessing.Process` object. :class:`~multiprocessing.Process` object.
@ -2509,10 +2515,10 @@ an ``'AF_PIPE'`` address rather than an ``'AF_UNIX'`` address.
Authentication keys Authentication keys
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
When one uses :meth:`Connection.recv <multiprocessing.Connection.recv>`, the When one uses :meth:`Connection.recv <Connection.recv>`, the
data received is automatically data received is automatically
unpickled. Unfortunately unpickling data from an untrusted source is a security unpickled. Unfortunately unpickling data from an untrusted source is a security
risk. Therefore :class:`Listener` and :func:`Client` use the :mod:`hmac` module risk. Therefore :class:`Listener` and :func:`Client` use the :mod:`hmac` module
to provide digest authentication. to provide digest authentication.
An authentication key is a byte string which can be thought of as a An authentication key is a byte string which can be thought of as a