Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[3.6] bpo-32362: Fix references to non-existent multiprocessing.Connection() (GH-6223) #6640

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 29, 2018
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 17 additions & 11 deletions Doc/library/multiprocessing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -719,8 +719,9 @@ For an example of the usage of queues for interprocess communication see

.. function:: Pipe([duplex])

Returns a pair ``(conn1, conn2)`` of :class:`Connection` objects representing
the ends of a pipe.
Returns a pair ``(conn1, conn2)`` of
:class:`~multiprocessing.connection.Connection` objects representing the
ends of a pipe.

If *duplex* is ``True`` (the default) then the pipe is bidirectional. If
*duplex* is ``False`` then the pipe is unidirectional: ``conn1`` can only be
Expand Down Expand Up @@ -1005,10 +1006,13 @@ Miscellaneous
Connection Objects
~~~~~~~~~~~~~~~~~~

.. currentmodule:: multiprocessing.connection

Connection objects allow the sending and receiving of picklable objects or
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`.

.. class:: Connection
Expand Down Expand Up @@ -1143,6 +1147,8 @@ For example:
Synchronization primitives
~~~~~~~~~~~~~~~~~~~~~~~~~~

.. currentmodule:: multiprocessing

Generally synchronization primitives are not as necessary in a multiprocess
program as they are in a multithreaded program. See the documentation for
:mod:`threading` module.
Expand Down Expand Up @@ -2253,7 +2259,7 @@ Listeners and Clients
:synopsis: API for dealing with sockets.

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`.

However, the :mod:`multiprocessing.connection` module allows some extra
Expand Down Expand Up @@ -2283,7 +2289,7 @@ multiple connections at the same time.
.. function:: Client(address[, family[, authkey]])

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
generally be omitted since it can usually be inferred from the format of
Expand Down Expand Up @@ -2333,8 +2339,8 @@ multiple connections at the same time.
.. method:: accept()

Accept a connection on the bound socket or named pipe of the listener
object and return a :class:`~multiprocessing.Connection` object. If
authentication is attempted and fails, then
object and return a :class:`~Connection` object.
If authentication is attempted and fails, then
:exc:`~multiprocessing.AuthenticationError` is raised.

.. method:: close()
Expand Down Expand Up @@ -2370,7 +2376,7 @@ multiple connections at the same time.
For both Unix and Windows, an object can appear in *object_list* if
it is

* a readable :class:`~multiprocessing.Connection` object;
* a readable :class:`~multiprocessing.connection.Connection` object;
* a connected and readable :class:`socket.socket` object; or
* the :attr:`~multiprocessing.Process.sentinel` attribute of a
:class:`~multiprocessing.Process` object.
Expand Down Expand Up @@ -2493,10 +2499,10 @@ an ``'AF_PIPE'`` address rather than an ``'AF_UNIX'`` address.
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
unpickled. Unfortunately unpickling data from an untrusted source is a security
risk. Therefore :class:`Listener` and :func:`Client` use the :mod:`hmac` module
unpickled. Unfortunately unpickling data from an untrusted source is a security
risk. Therefore :class:`Listener` and :func:`Client` use the :mod:`hmac` module
to provide digest authentication.

An authentication key is a byte string which can be thought of as a
Expand Down