Skip to content

Commit

Permalink
Monkey patch original current_thread _active
Browse files Browse the repository at this point in the history
Monkey patch the original current_thread to use the up-to-date _active
global variable. This solution is based on that documented at:
eventlet/eventlet#592

Change-Id: Icb26c43a71accdb4658ad6087fb3226f9a1090c0
Story: 2007614
  • Loading branch information
ChrisMacNaughton committed Jun 22, 2020
1 parent 4b48943 commit 4706b6c
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion os_ken/lib/hub.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,20 @@
import traceback

getcurrent = eventlet.getcurrent
patch = eventlet.monkey_patch
sleep = eventlet.sleep
listen = eventlet.listen
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):
raise_error = kwargs.pop('raise_error', False)

Expand Down

0 comments on commit 4706b6c

Please sign in to comment.