ACL uses enums, some more tests, other stuff.
[python_utils.git] / decorator_utils.py
index c07023b1205950cad1d89edbbe13ad457c45f678..2817239c88c2396b0e5dcc56e7c535b8afdd99d9 100644 (file)
@@ -18,8 +18,9 @@ import traceback
 from typing import Callable, Optional
 import warnings
 
+# This module is commonly used by others in here and should avoid
+# taking any unnecessary dependencies back on them.
 import exceptions
-import thread_utils
 
 
 logger = logging.getLogger(__name__)
@@ -428,6 +429,7 @@ def timeout(
     parameter.  The function is wrapped and returned to the caller.
     """
     if use_signals is None:
+        import thread_utils
         use_signals = thread_utils.is_current_thread_main_thread()
 
     def decorate(function):