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: Icb26c43a71accdb4658ad6087fb3226f9a1090c0 Story: 2007614
This commit is contained in:
parent
4b489435e1
commit
4706b6c295
@ -44,11 +44,20 @@ if HUB_TYPE == 'eventlet':
|
|||||||
import traceback
|
import traceback
|
||||||
|
|
||||||
getcurrent = eventlet.getcurrent
|
getcurrent = eventlet.getcurrent
|
||||||
patch = eventlet.monkey_patch
|
|
||||||
sleep = eventlet.sleep
|
sleep = eventlet.sleep
|
||||||
listen = eventlet.listen
|
listen = eventlet.listen
|
||||||
connect = eventlet.connect
|
connect = eventlet.connect
|
||||||
|
|
||||||
|
def patch(thread=True):
|
||||||
|
eventlet.monkey_patch(thread=thread)
|
||||||
|
if thread:
|
||||||
|
# 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
|
||||||
|
|
||||||
def spawn(*args, **kwargs):
|
def spawn(*args, **kwargs):
|
||||||
raise_error = kwargs.pop('raise_error', False)
|
raise_error = kwargs.pop('raise_error', False)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user