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

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


http://hg.python.org/cpython/rev/1861683793d9
changeset:   70910:1861683793d9
parent:      70908:ecef74419d55
parent:      70909:1f171dd21bdb
user:        Victor Stinner <victor.stinner at haypocalc.com>
date:        Mon Jun 20 17:54:03 2011 +0200
summary:
  (merge 3.2) 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
@@ -1138,6 +1138,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