From 464c2027a16cad8f91a8c2c248e8072f6e24544e Mon Sep 17 00:00:00 2001
From: Yadu Babuji <yadudoc1729@gmail.com>
Date: Wed, 15 Jan 2025 12:20:54 -0600
Subject: [PATCH] Force result_watcher shutdown

---
 parsl/executors/globus_compute.py | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/parsl/executors/globus_compute.py b/parsl/executors/globus_compute.py
index 8c607fb15f..687026979d 100644
--- a/parsl/executors/globus_compute.py
+++ b/parsl/executors/globus_compute.py
@@ -117,5 +117,9 @@ def shutdown(self):
 
         GCE.shutdown will cancel all futures that have not yet registered with
         Globus Compute and will not wait for the launched futures to complete.
+        This method explicitly shutsdown the result_watcher thread to avoid
+        it waiting for outstanding futures at thread exit.
         """
         self.executor.shutdown(wait=False, cancel_futures=True)
+        result_watcher = self.executor._get_result_watcher()
+        result_watcher.shutdown(wait=False, cancel_futures=True)