From 1b37604d3a5b9af1a776ed73bcc18eacf597394e Mon Sep 17 00:00:00 2001
From: jvoisin <julien.voisin@dustri.org>
Date: Tue, 29 Mar 2022 22:15:04 +0200
Subject: [PATCH] Make processing multiple files safer concurrence-wise

---
 mat2 | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/mat2 b/mat2
index f41272a..912e036 100755
--- a/mat2
+++ b/mat2
@@ -221,14 +221,14 @@ def main() -> int:
         files = __get_files_recursively(args.files)
         # We have to use Processes instead of Threads, since
         # we're using tempfile.mkdtemp, which isn't thread-safe.
+        futures = list()
         with concurrent.futures.ProcessPoolExecutor() as executor:
-            futures = list()
             for f in files:
                 future = executor.submit(clean_meta, f, args.lightweight,
                                          inplace, args.sandbox, policy)
                 futures.append(future)
-            for future in concurrent.futures.as_completed(futures):
-                no_failure &= future.result()
+        for future in concurrent.futures.as_completed(futures):
+            no_failure &= future.result()
         return 0 if no_failure is True else -1
 
 
-- 
GitLab