]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Remove concurrent.futures deadcode: process_result_item() (#109906)
authorVictor Stinner <vstinner@python.org>
Tue, 26 Sep 2023 19:33:59 +0000 (21:33 +0200)
committerGitHub <noreply@github.com>
Tue, 26 Sep 2023 19:33:59 +0000 (21:33 +0200)
process_result_item() cannot be called with an int anymore, the
protocol changed.

Lib/concurrent/futures/process.py

index 011e79a5e73d5ae35e58d61c50096195789b7a9a..73bdcbe869399188e480eb47aa692fe9e6cef41d 100644 (file)
@@ -444,24 +444,14 @@ class _ExecutorManagerThread(threading.Thread):
         # Process the received a result_item. This can be either the PID of a
         # worker that exited gracefully or a _ResultItem
 
-        if isinstance(result_item, int):
-            # Clean shutdown of a worker using its PID
-            # (avoids marking the executor broken)
-            assert self.is_shutting_down()
-            p = self.processes.pop(result_item)
-            p.join()
-            if not self.processes:
-                self.join_executor_internals()
-                return
-        else:
-            # Received a _ResultItem so mark the future as completed.
-            work_item = self.pending_work_items.pop(result_item.work_id, None)
-            # work_item can be None if another process terminated (see above)
-            if work_item is not None:
-                if result_item.exception:
-                    work_item.future.set_exception(result_item.exception)
-                else:
-                    work_item.future.set_result(result_item.result)
+        # Received a _ResultItem so mark the future as completed.
+        work_item = self.pending_work_items.pop(result_item.work_id, None)
+        # work_item can be None if another process terminated (see above)
+        if work_item is not None:
+            if result_item.exception:
+                work_item.future.set_exception(result_item.exception)
+            else:
+                work_item.future.set_result(result_item.result)
 
     def is_shutting_down(self):
         # Check whether we should start shutting down the executor.