diff options
author | Benjamin Peterson <benjamin@python.org> | 2011-06-21 02:40:34 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2011-06-21 02:40:34 (GMT) |
commit | 66b371e0001f5a8de4765c23e2e88e610fb4808d (patch) | |
tree | 3b4fd04b6a4a25454a3196e01307c4945a2d8ce6 | |
parent | f63d615f8bae0a2ad994fb65e37b8657da93a941 (diff) | |
parent | 2fae27b735f4d93c8a7789a7a98857e1ce3c7193 (diff) | |
download | cpython-66b371e0001f5a8de4765c23e2e88e610fb4808d.zip cpython-66b371e0001f5a8de4765c23e2e88e610fb4808d.tar.gz cpython-66b371e0001f5a8de4765c23e2e88e610fb4808d.tar.bz2 |
merge heads
-rw-r--r-- | Doc/library/asyncore.rst | 4 | ||||
-rw-r--r-- | Doc/library/http.client.rst | 13 | ||||
-rw-r--r-- | Doc/tutorial/modules.rst | 15 | ||||
-rw-r--r-- | Lib/multiprocessing/pool.py | 2 | ||||
-rw-r--r-- | Lib/test/test_multiprocessing.py | 3 |
5 files changed, 27 insertions, 10 deletions
diff --git a/Doc/library/asyncore.rst b/Doc/library/asyncore.rst index 5f95d41..619b7bb 100644 --- a/Doc/library/asyncore.rst +++ b/Doc/library/asyncore.rst @@ -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 diff --git a/Doc/library/http.client.rst b/Doc/library/http.client.rst index 704585b..54873ae 100644 --- a/Doc/library/http.client.rst +++ b/Doc/library/http.client.rst @@ -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) diff --git a/Doc/tutorial/modules.rst b/Doc/tutorial/modules.rst index d4bfbda..3254a80 100644 --- a/Doc/tutorial/modules.rst +++ b/Doc/tutorial/modules.rst @@ -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 diff --git a/Lib/multiprocessing/pool.py b/Lib/multiprocessing/pool.py index 92170f2..e450319 100644 --- a/Lib/multiprocessing/pool.py +++ b/Lib/multiprocessing/pool.py @@ -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') diff --git a/Lib/test/test_multiprocessing.py b/Lib/test/test_multiprocessing.py index 2614689..dc41e15 100644 --- a/Lib/test/test_multiprocessing.py +++ b/Lib/test/test_multiprocessing.py @@ -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() |