diff options
author | Victor Stinner <victor.stinner@haypocalc.com> | 2011-06-20 17:54:03 +0200 |
---|---|---|
committer | Victor Stinner <victor.stinner@haypocalc.com> | 2011-06-20 17:54:03 +0200 |
commit | 395dc58ee784087547115b684b2b39f40655ac47 (patch) | |
tree | 2eec97f48e097ccf5b7be0e08f8f1c223ed8ae19 /Lib | |
parent | fb25ba9b073ddcec602700484ff5fc2b1bea1a59 (diff) | |
parent | 2fae27b735f4d93c8a7789a7a98857e1ce3c7193 (diff) | |
download | cpython-git-395dc58ee784087547115b684b2b39f40655ac47.tar.gz |
(merge 3.2) Issue #12285: multiprocessing.Pool() raises a ValueError if the
number of processes if negative or null.
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/multiprocessing/pool.py | 2 | ||||
-rw-r--r-- | Lib/test/test_multiprocessing.py | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/Lib/multiprocessing/pool.py b/Lib/multiprocessing/pool.py index 92170f2ee8..e450319d4f 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 85094cc5f4..b752d8d79b 100644 --- a/Lib/test/test_multiprocessing.py +++ b/Lib/test/test_multiprocessing.py @@ -1138,6 +1138,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() |