(merge 3.2) Issue #12285: multiprocessing.Pool() raises a ValueError if the

number of processes if negative or null.
This commit is contained in:
Victor Stinner 2011-06-20 17:54:03 +02:00
commit 395dc58ee7
2 changed files with 5 additions and 0 deletions

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

@ -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()