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...')