summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@haypocalc.com>2011-06-20 15:54:33 (GMT)
committerVictor Stinner <victor.stinner@haypocalc.com>2011-06-20 15:54:33 (GMT)
commitf64a0cffca141fa0a8f1138b5f069ea0da446c9f (patch)
tree4d043737585f7df99d0246b18d2befaba4c456cc
parent3fdf9d43e5b7f788f19a4a6d7f0a6530c5b8c504 (diff)
downloadcpython-f64a0cffca141fa0a8f1138b5f069ea0da446c9f.zip
cpython-f64a0cffca141fa0a8f1138b5f069ea0da446c9f.tar.gz
cpython-f64a0cffca141fa0a8f1138b5f069ea0da446c9f.tar.bz2
Issue #12285: multiprocessing.Pool() raises a ValueError if the number of
processes if negative or null.
-rw-r--r--Lib/multiprocessing/pool.py2
-rw-r--r--Lib/test/test_multiprocessing.py3
2 files changed, 5 insertions, 0 deletions
diff --git a/Lib/multiprocessing/pool.py b/Lib/multiprocessing/pool.py
index 862a60e..c66876a 100644
--- a/Lib/multiprocessing/pool.py
+++ b/Lib/multiprocessing/pool.py
@@ -125,6 +125,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 fe19de0..de5e46a 100644
--- a/Lib/test/test_multiprocessing.py
+++ b/Lib/test/test_multiprocessing.py
@@ -1085,6 +1085,9 @@ class _TestPool(BaseTestCase):
self.assertEqual(sorted(it), map(sqr, 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()