diff options
-rw-r--r-- | Lib/compileall.py | 6 | ||||
-rw-r--r-- | Misc/NEWS | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/Lib/compileall.py b/Lib/compileall.py index 0cc0c1d530..2d4c523b4f 100644 --- a/Lib/compileall.py +++ b/Lib/compileall.py @@ -66,13 +66,13 @@ def compile_dir(dir, maxlevels=10, ddir=None, force=False, rx=None, optimize: optimization level or -1 for level of the interpreter workers: maximum number of parallel workers """ + if workers is not None and workers < 0: + raise ValueError('workers must be greater or equal to 0') + files = _walk_dir(dir, quiet=quiet, maxlevels=maxlevels, ddir=ddir) success = 1 if workers is not None and workers != 1 and ProcessPoolExecutor is not None: - if workers < 0: - raise ValueError('workers must be greater or equal to 0') - workers = workers or None with ProcessPoolExecutor(max_workers=workers) as executor: results = executor.map(partial(compile_file, @@ -113,6 +113,10 @@ Core and Builtins Library ------- +- Issue #28485: Always raise ValueError for negative + compileall.compile_dir(workers=...) parameter, even when multithreading is + unavailable. + - Issue #28387: Fixed possible crash in _io.TextIOWrapper deallocator when the garbage collector is invoked in other thread. Based on patch by Sebastian Cufre. |