From 56de1c4330de76256937ecd0b1d8cde8f16d9f0a Mon Sep 17 00:00:00 2001 From: Corey Bryant Date: Mon, 4 May 2020 17:31:09 -0400 Subject: [PATCH] Monkey patch original current_thread _active Monkey patch the original current_thread to use the up-to-date _active global variable. This solution is based on that documented at: https://github.com/eventlet/eventlet/issues/592 Change-Id: I8e8a9ce5085b7915994317af5ea903cf8a39e809 Closes-Bug: #1863021 (cherry picked from commit 44e77ea9a975e9222f38591151e2c32640ef7379) --- neutron_dynamic_routing/cmd/eventlet/__init__.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/neutron_dynamic_routing/cmd/eventlet/__init__.py b/neutron_dynamic_routing/cmd/eventlet/__init__.py index 363e66cf..20582e3a 100644 --- a/neutron_dynamic_routing/cmd/eventlet/__init__.py +++ b/neutron_dynamic_routing/cmd/eventlet/__init__.py @@ -14,3 +14,9 @@ import eventlet eventlet.monkey_patch() +# 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 # noqa +import threading # noqa +orig_threading.current_thread.__globals__['_active'] = threading._active