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: I8c2ffea3c31b3009c87455d9c54dc233367f0d3d
Closes-Bug: #1863021
This commit is contained in:
Corey Bryant 2020-05-04 13:24:23 -04:00
parent af165c9235
commit 68dc62b738
2 changed files with 12 additions and 0 deletions

View File

@ -16,3 +16,9 @@
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

View File

@ -29,6 +29,12 @@ from designate import utils
from designate import version
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
CONF = designate.conf.CONF