summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorRichard Oudkerk <shibturn@gmail.com>2012-08-17 13:42:43 (GMT)
committerRichard Oudkerk <shibturn@gmail.com>2012-08-17 13:42:43 (GMT)
commit67a58cc51570ef67002fa1244782be115f888aac (patch)
treeb6cc1b335cb8963d132dd89ebbec2b5f029cd139 /Doc
parentd9a7e70939b0e0b904b5602d53bb07f5a371e2a2 (diff)
parent264e9ac5f5c74289f04606ed0ed9cd1f7f8cb481 (diff)
downloadcpython-67a58cc51570ef67002fa1244782be115f888aac.zip
cpython-67a58cc51570ef67002fa1244782be115f888aac.tar.gz
cpython-67a58cc51570ef67002fa1244782be115f888aac.tar.bz2
Merge
Diffstat (limited to 'Doc')
-rw-r--r--Doc/library/multiprocessing.rst39
1 files changed, 20 insertions, 19 deletions
diff --git a/Doc/library/multiprocessing.rst b/Doc/library/multiprocessing.rst
index 6cf0b61..33a3511 100644
--- a/Doc/library/multiprocessing.rst
+++ b/Doc/library/multiprocessing.rst
@@ -1207,10 +1207,10 @@ their parent process exits. The manager classes are defined in the
*address* is the address on which the manager process listens for new
connections. If *address* is ``None`` then an arbitrary one is chosen.
- *authkey* is the authentication key which will be used to check the validity
- of incoming connections to the server process. If *authkey* is ``None`` then
- ``current_process().authkey``. Otherwise *authkey* is used and it
- must be a string.
+ *authkey* is the authentication key which will be used to check the
+ validity of incoming connections to the server process. If
+ *authkey* is ``None`` then ``current_process().authkey`` is used.
+ Otherwise *authkey* is used and it must be a byte string.
.. method:: start([initializer[, initargs]])
@@ -1224,7 +1224,7 @@ their parent process exits. The manager classes are defined in the
:meth:`serve_forever` method::
>>> from multiprocessing.managers import BaseManager
- >>> manager = BaseManager(address=('', 50000), authkey='abc')
+ >>> manager = BaseManager(address=('', 50000), authkey=b'abc')
>>> server = manager.get_server()
>>> server.serve_forever()
@@ -1235,7 +1235,7 @@ their parent process exits. The manager classes are defined in the
Connect a local manager object to a remote manager process::
>>> from multiprocessing.managers import BaseManager
- >>> m = BaseManager(address=('127.0.0.1', 5000), authkey='abc')
+ >>> m = BaseManager(address=('127.0.0.1', 5000), authkey=b'abc')
>>> m.connect()
.. method:: shutdown()
@@ -1454,7 +1454,7 @@ remote clients can access::
>>> queue = queue.Queue()
>>> class QueueManager(BaseManager): pass
>>> QueueManager.register('get_queue', callable=lambda:queue)
- >>> m = QueueManager(address=('', 50000), authkey='abracadabra')
+ >>> m = QueueManager(address=('', 50000), authkey=b'abracadabra')
>>> s = m.get_server()
>>> s.serve_forever()
@@ -1463,7 +1463,7 @@ One client can access the server as follows::
>>> from multiprocessing.managers import BaseManager
>>> class QueueManager(BaseManager): pass
>>> QueueManager.register('get_queue')
- >>> m = QueueManager(address=('foo.bar.org', 50000), authkey='abracadabra')
+ >>> m = QueueManager(address=('foo.bar.org', 50000), authkey=b'abracadabra')
>>> m.connect()
>>> queue = m.get_queue()
>>> queue.put('hello')
@@ -1473,7 +1473,7 @@ Another client can also use it::
>>> from multiprocessing.managers import BaseManager
>>> class QueueManager(BaseManager): pass
>>> QueueManager.register('get_queue')
- >>> m = QueueManager(address=('foo.bar.org', 50000), authkey='abracadabra')
+ >>> m = QueueManager(address=('foo.bar.org', 50000), authkey=b'abracadabra')
>>> m.connect()
>>> queue = m.get_queue()
>>> queue.get()
@@ -1497,7 +1497,7 @@ client to access it remotely::
>>> class QueueManager(BaseManager): pass
...
>>> QueueManager.register('get_queue', callable=lambda: queue)
- >>> m = QueueManager(address=('', 50000), authkey='abracadabra')
+ >>> m = QueueManager(address=('', 50000), authkey=b'abracadabra')
>>> s = m.get_server()
>>> s.serve_forever()
@@ -1865,9 +1865,9 @@ multiple connections at the same time.
generally be omitted since it can usually be inferred from the format of
*address*. (See :ref:`multiprocessing-address-formats`)
- If *authenticate* is ``True`` or *authkey* is a string then digest
+ If *authenticate* is ``True`` or *authkey* is a byte string then digest
authentication is used. The key used for authentication will be either
- *authkey* or ``current_process().authkey)`` if *authkey* is ``None``.
+ *authkey* or ``current_process().authkey`` if *authkey* is ``None``.
If authentication fails then
:exc:`~multiprocessing.AuthenticationError` is raised. See
:ref:`multiprocessing-auth-keys`.
@@ -1903,8 +1903,8 @@ multiple connections at the same time.
If *authenticate* is ``True`` (``False`` by default) or *authkey* is not
``None`` then digest authentication is used.
- If *authkey* is a string then it will be used as the authentication key;
- otherwise it must be *None*.
+ If *authkey* is a byte string then it will be used as the
+ authentication key; otherwise it must be *None*.
If *authkey* is ``None`` and *authenticate* is ``True`` then
``current_process().authkey`` is used as the authentication key. If
@@ -2081,12 +2081,13 @@ 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 string which can be thought of as a password: once a
-connection is established both ends will demand proof that the other knows the
-authentication key. (Demonstrating that both ends are using the same key does
-**not** involve sending the key over the connection.)
+An authentication key is a byte string which can be thought of as a
+password: once a connection is established both ends will demand proof
+that the other knows the authentication key. (Demonstrating that both
+ends are using the same key does **not** involve sending the key over
+the connection.)
-If authentication is requested but do authentication key is specified then the
+If authentication is requested but no authentication key is specified then the
return value of ``current_process().authkey`` is used (see
:class:`~multiprocessing.Process`). This value will automatically inherited by
any :class:`~multiprocessing.Process` object that the current process creates.