diff --git a/oslo_concurrency/processutils.py b/oslo_concurrency/processutils.py index fc815de..85d1283 100644 --- a/oslo_concurrency/processutils.py +++ b/oslo_concurrency/processutils.py @@ -56,6 +56,13 @@ if eventlet_patched: from eventlet.green import subprocess from eventlet import tpool + + # Monkey patch the original current_thread to use the up-to-date _active + # global variable. See https://bugs.launchpad.net/bugs/1863021 and + # https://github.com/eventlet/eventlet/issues/592 + import __original_module_threading as orig_threading + import threading + orig_threading.current_thread.__globals__['_active'] = threading._active else: import subprocess