diff options
author | Brian Quinlan <brian@sweetapp.com> | 2014-05-17 20:51:10 (GMT) |
---|---|---|
committer | Brian Quinlan <brian@sweetapp.com> | 2014-05-17 20:51:10 (GMT) |
commit | 20efceb75790f2a40fad449fd92a6b3d8fe40c8b (patch) | |
tree | f40a8391cb82646bfc6a26ae857a461732ac6dfa /Lib/concurrent/futures | |
parent | 120e8edfb8b0e477dbe351c14e18803301df48ac (diff) | |
download | cpython-20efceb75790f2a40fad449fd92a6b3d8fe40c8b.zip cpython-20efceb75790f2a40fad449fd92a6b3d8fe40c8b.tar.gz cpython-20efceb75790f2a40fad449fd92a6b3d8fe40c8b.tar.bz2 |
Issue #21362: concurrent.futures does not validate that max_workers is proper
Diffstat (limited to 'Lib/concurrent/futures')
-rw-r--r-- | Lib/concurrent/futures/process.py | 3 | ||||
-rw-r--r-- | Lib/concurrent/futures/thread.py | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/Lib/concurrent/futures/process.py b/Lib/concurrent/futures/process.py index 07b5225..1299390 100644 --- a/Lib/concurrent/futures/process.py +++ b/Lib/concurrent/futures/process.py @@ -334,6 +334,9 @@ class ProcessPoolExecutor(_base.Executor): if max_workers is None: self._max_workers = os.cpu_count() or 1 else: + if max_workers <= 0: + raise ValueError("max_workers must be greater than 0") + self._max_workers = max_workers # Make the call queue slightly larger than the number of processes to diff --git a/Lib/concurrent/futures/thread.py b/Lib/concurrent/futures/thread.py index f9beb0f..8d6081c 100644 --- a/Lib/concurrent/futures/thread.py +++ b/Lib/concurrent/futures/thread.py @@ -87,6 +87,9 @@ class ThreadPoolExecutor(_base.Executor): max_workers: The maximum number of threads that can be used to execute the given calls. """ + if max_workers <= 0: + raise ValueError("max_workers must be greater than 0") + self._max_workers = max_workers self._work_queue = queue.Queue() self._threads = set() |