diff options
Diffstat (limited to 'oslo_messaging/_utils.py')
-rw-r--r-- | oslo_messaging/_utils.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/oslo_messaging/_utils.py b/oslo_messaging/_utils.py index 969bdbb..0ce1a16 100644 --- a/oslo_messaging/_utils.py +++ b/oslo_messaging/_utils.py @@ -14,11 +14,25 @@ # under the License. import logging +import threading from oslo_utils import eventletutils +from oslo_utils import importutils LOG = logging.getLogger(__name__) +eventlet = importutils.try_import('eventlet') +if eventlet and eventletutils.is_monkey_patched("thread"): + # Here we initialize module with the native python threading module + # if it was already monkey patched by eventlet/greenlet. + stdlib_threading = eventlet.patcher.original('threading') +else: + # Manage the case where we run this driver in a non patched environment + # and where user even so configure the driver to run heartbeat through + # a python thread, if we don't do that when the heartbeat will start + # we will facing an issue by trying to override the threading module. + stdlib_threading = threading + def version_is_compatible(imp_version, version): """Determine whether versions are compatible. |