summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Vicente <pedrovfer@gmail.com>2012-11-12 13:28:20 +0100
committerPedro Vicente <pedrovfer@gmail.com>2012-11-12 13:33:09 +0100
commit1a2b404076a04953e63b8bd120d70e237c185d44 (patch)
treee589e7364b617cda868e5277c88aa0e3a6544899
parent7a1ed64985a7cbfe48e834838d30e202f1c692e4 (diff)
downloadslixmpp-1a2b404076a04953e63b8bd120d70e237c185d44.tar.gz
slixmpp-1a2b404076a04953e63b8bd120d70e237c185d44.tar.bz2
slixmpp-1a2b404076a04953e63b8bd120d70e237c185d44.tar.xz
slixmpp-1a2b404076a04953e63b8bd120d70e237c185d44.zip
Checked if gevent thread is patched to do the right import
-rw-r--r--sleekxmpp/util/__init__.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/sleekxmpp/util/__init__.py b/sleekxmpp/util/__init__.py
index 1e4af02d..957a9335 100644
--- a/sleekxmpp/util/__init__.py
+++ b/sleekxmpp/util/__init__.py
@@ -18,7 +18,18 @@ from sleekxmpp.util.misc_ops import bytes, unicode, hashes, hash, \
# Standardize import of Queue class:
import sys
-if 'gevent' in sys.modules:
+
+def _gevent_threads_enabled():
+ if not 'gevent' in sys.modules:
+ return False
+ try:
+ from gevent import thread as green_thread
+ thread = __import__('thread')
+ return thread.LockType is green_thread.LockType
+ except ImportError:
+ return False
+
+if _gevent_threads_enabled():
import gevent.queue as queue
Queue = queue.JoinableQueue
else: