[Python-checkins] cpython (3.2): Issue #12285: multiprocessing.Pool() raises a ValueError if the number of

victor.stinner python-checkins at python.org
Mon Jun 20 17:55:41 CEST 2011


http://hg.python.org/cpython/rev/1f171dd21bdb
changeset: 70909:1f171dd21bdb
branch: 3.2
parent: 70903:a57134dd8688
user: Victor Stinner <victor.stinner at haypocalc.com>
date: Mon Jun 20 17:53:35 2011 +0200
summary:
 Issue #12285: multiprocessing.Pool() raises a ValueError if the number of
processes if negative or null.
files:
 Lib/multiprocessing/pool.py | 2 ++
 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
--- a/Lib/multiprocessing/pool.py
+++ b/Lib/multiprocessing/pool.py
@@ -148,6 +148,8 @@
 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
--- a/Lib/test/test_multiprocessing.py
+++ b/Lib/test/test_multiprocessing.py
@@ -1089,6 +1089,9 @@
 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()
-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /