Commit f64a0cff authored by Victor Stinner's avatar Victor Stinner

Issue #12285: multiprocessing.Pool() raises a ValueError if the number of

processes if negative or null.
parent 3fdf9d43
...@@ -125,6 +125,8 @@ class Pool(object): ...@@ -125,6 +125,8 @@ class Pool(object):
processes = cpu_count() processes = cpu_count()
except NotImplementedError: except NotImplementedError:
processes = 1 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__'): if initializer is not None and not hasattr(initializer, '__call__'):
raise TypeError('initializer must be a callable') raise TypeError('initializer must be a callable')
......
...@@ -1085,6 +1085,9 @@ class _TestPool(BaseTestCase): ...@@ -1085,6 +1085,9 @@ class _TestPool(BaseTestCase):
self.assertEqual(sorted(it), map(sqr, range(1000))) self.assertEqual(sorted(it), map(sqr, range(1000)))
def test_make_pool(self): def test_make_pool(self):
self.assertRaises(ValueError, multiprocessing.Pool, -1)
self.assertRaises(ValueError, multiprocessing.Pool, 0)
p = multiprocessing.Pool(3) p = multiprocessing.Pool(3)
self.assertEqual(3, len(p._pool)) self.assertEqual(3, len(p._pool))
p.close() p.close()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment