From 9dd40f072386134d5271a902f135e95979de1419 Mon Sep 17 00:00:00 2001 From: Glenn Jocher Date: Tue, 15 Nov 2022 16:27:07 +0100 Subject: [PATCH] Add `join_threads()` (#10086) * Update __init__.py Signed-off-by: Glenn Jocher * Update __init__.py Signed-off-by: Glenn Jocher * Update __init__.py Signed-off-by: Glenn Jocher Signed-off-by: Glenn Jocher --- utils/__init__.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/utils/__init__.py b/utils/__init__.py index 8354d91..7bf3efe 100644 --- a/utils/__init__.py +++ b/utils/__init__.py @@ -37,6 +37,16 @@ def threaded(func): return wrapper +def join_threads(verbose=False): + # Join all daemon threads, i.e. atexit.register(lambda: join_threads()) + main_thread = threading.current_thread() + for t in threading.enumerate(): + if t is not main_thread: + if verbose: + print(f'Joining thread {t.name}') + t.join() + + def notebook_init(verbose=True): # Check system software and hardware print('Checking setup...')