Commit 1b37604d authored by jvoisin's avatar jvoisin
Browse files

Make processing multiple files safer concurrence-wise

parent 1c3e2afa
Pipeline #83679 failed with stages
in 41 seconds
...@@ -221,14 +221,14 @@ def main() -> int: ...@@ -221,14 +221,14 @@ def main() -> int:
files = __get_files_recursively(args.files) files = __get_files_recursively(args.files)
# We have to use Processes instead of Threads, since # We have to use Processes instead of Threads, since
# we're using tempfile.mkdtemp, which isn't thread-safe. # we're using tempfile.mkdtemp, which isn't thread-safe.
futures = list()
with concurrent.futures.ProcessPoolExecutor() as executor: with concurrent.futures.ProcessPoolExecutor() as executor:
futures = list()
for f in files: for f in files:
future = executor.submit(clean_meta, f, args.lightweight, future = executor.submit(clean_meta, f, args.lightweight,
inplace, args.sandbox, policy) inplace, args.sandbox, policy)
futures.append(future) futures.append(future)
for future in concurrent.futures.as_completed(futures): for future in concurrent.futures.as_completed(futures):
no_failure &= future.result() no_failure &= future.result()
return 0 if no_failure is True else -1 return 0 if no_failure is True else -1
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment