merge heads

This commit is contained in:
Benjamin Peterson 2011-06-20 21:40:34 -05:00
commit 66b371e000
5 changed files with 27 additions and 10 deletions

View File

@ -157,8 +157,8 @@ any that have been added to the map during asynchronous service) is closed.
Called on listening channels (passive openers) when a connection has been
established with a new remote endpoint that has issued a :meth:`connect`
call for the local endpoint. *conn* is a *new* socket object usable to
send and receive data on the connection, and *address* is the address
call for the local endpoint. *sock* is a *new* socket object usable to
send and receive data on the connection, and *addr* is the address
bound to the socket on the other end of the connection.
.. versionadded:: 3.2

View File

@ -543,6 +543,9 @@ statement.
A debugging hook. If :attr:`debuglevel` is greater than zero, messages
will be printed to stdout as the response is read and parsed.
.. attribute:: HTTPResponse.closed
Is True if the stream is closed.
Examples
--------
@ -555,7 +558,15 @@ Here is an example session that uses the ``GET`` method::
>>> r1 = conn.getresponse()
>>> print(r1.status, r1.reason)
200 OK
>>> data1 = r1.read()
>>> data1 = r1.read() # This will return entire content.
>>> # The following example demonstrates reading data in chunks.
>>> conn.request("GET", "/index.html")
>>> r1 = conn.getresponse()
>>> while not r1.closed:
... print(r1.read(200)) # 200 bytes
b'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"...
...
>>> # Example of an invalid request
>>> conn.request("GET", "/parrot.spam")
>>> r2 = conn.getresponse()
>>> print(r2.status, r2.reason)

View File

@ -159,13 +159,14 @@ The Module Search Path
.. index:: triple: module; search; path
When a module named :mod:`spam` is imported, the interpreter searches for a file
named :file:`spam.py` in the current directory, and then in the list of
directories specified by the environment variable :envvar:`PYTHONPATH`. This
has the same syntax as the shell variable :envvar:`PATH`, that is, a list of
directory names. When :envvar:`PYTHONPATH` is not set, or when the file is not
found there, the search continues in an installation-dependent default path; on
Unix, this is usually :file:`.:/usr/local/lib/python`.
When a module named :mod:`spam` is imported, the interpreter searches for a
file named :file:`spam.py` in the directory containing the input script and
then in the list of directories specified by the environment variable
:envvar:`PYTHONPATH`. This has the same syntax as the shell variable
:envvar:`PATH`, that is, a list of directory names. When :envvar:`PYTHONPATH`
is not set, or when the file is not found there, the search continues in an
installation-dependent default path; on Unix, this is usually
:file:`.:/usr/local/lib/python`.
Actually, modules are searched in the list of directories given by the variable
``sys.path`` which is initialized from the directory containing the input script

View File

@ -148,6 +148,8 @@ class Pool(object):
processes = cpu_count()
except NotImplementedError:
processes = 1
if processes < 1:
raise ValueError("Number of processes must be at least 1")
if initializer is not None and not hasattr(initializer, '__call__'):
raise TypeError('initializer must be a callable')

View File

@ -1089,6 +1089,9 @@ class _TestPool(BaseTestCase):
self.assertEqual(sorted(it), list(map(sqr, list(range(1000)))))
def test_make_pool(self):
self.assertRaises(ValueError, multiprocessing.Pool, -1)
self.assertRaises(ValueError, multiprocessing.Pool, 0)
p = multiprocessing.Pool(3)
self.assertEqual(3, len(p._pool))
p.close()