diff --git a/neutron/common/eventlet_utils.py b/neutron/common/eventlet_utils.py index e8e23c16f97..d8efacf5e34 100644 --- a/neutron/common/eventlet_utils.py +++ b/neutron/common/eventlet_utils.py @@ -37,3 +37,9 @@ def monkey_patch(): # fail on Windows when using pipes due to missing non-blocking IO # support. eventlet.monkey_patch(os=False) + # 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 # noqa + orig_threading.current_thread.__globals__['_active'] = threading._active