summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRodolfo Alonso Hernandez <ralonsoh@redhat.com>2020-09-30 11:27:31 +0000
committerDaniel Bengtsson <dbengt@redhat.com>2020-10-08 14:55:46 +0200
commitfd7c4976ef4118f501737a29ccfb31edde48373b (patch)
treee2dee6df08a02b6cf0e659485c2da27c5376cb96
parent77e2d8cc58e22c3b5c3e7c5341d97b856f501140 (diff)
downloadoslo-concurrency-stable/victoria.tar.gz
Monkey patch original current_thread _active in processutilsvictoria-em4.3.1stable/victoria
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: I0a2c1e0d8a8cad99d68100d25e88e0d3a2eb8f5c Related-Bug: #1863021 (cherry picked from commit 6533958f5fcec8b1577f56834ea2dc75a4f211e3)
-rw-r--r--oslo_concurrency/processutils.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/oslo_concurrency/processutils.py b/oslo_concurrency/processutils.py
index c078490..fea5ecd 100644
--- a/oslo_concurrency/processutils.py
+++ b/oslo_concurrency/processutils.py
@@ -55,6 +55,13 @@ if eventlet_patched:
from eventlet.green import subprocess
from eventlet import tpool
+
+ # 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
+ orig_threading.current_thread.__globals__['_active'] = threading._active
else:
import subprocess