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: I97c2a756076299a01170beb5bec3fa0e49593146
Story: 2007614
(cherry picked from commit 627d4dfd1a)
This commit is contained in:
Corey Bryant 2020-05-04 13:44:44 -04:00
parent 3defeea7f0
commit ba6db8dcd5

View File

@ -24,6 +24,12 @@ os.environ['EVENTLET_NO_GREENDNS'] = 'yes' # noqa E402
import eventlet
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 # noqa
import threading # noqa
orig_threading.current_thread.__globals__['_active'] = threading._active
from ironic.common import i18n # noqa for I202 due to 'import eventlet' above