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: I49bfd9673abc7602b27dc48b8b490daaded2882c
Closes-Bug: #1863021
(cherry picked from commit ec7a5aa516)
This commit is contained in:
Corey Bryant 2020-04-30 15:44:10 -04:00 committed by Rodolfo Alonso Hernandez
parent cca0aebb26
commit 1e81440b63
1 changed files with 6 additions and 0 deletions

View File

@ -37,3 +37,9 @@ def monkey_patch():
# fail on Windows when using pipes due to missing non-blocking IO
# support.
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
import threading # noqa
orig_threading.current_thread.__globals__['_active'] = threading._active