Use the dummy_thread module in Queue.py and tempfile.py.
tempfile.py already contained code to let it run without threads present;
for Queue.py this is considered a useful feature too.
diff --git a/Lib/Queue.py b/Lib/Queue.py
index 39c86f2..83a8318 100644
--- a/Lib/Queue.py
+++ b/Lib/Queue.py
@@ -16,7 +16,10 @@
If maxsize is <= 0, the queue size is infinite.
"""
- import thread
+ try:
+ import thread
+ except ImportError:
+ import dummy_thread as thread
self._init(maxsize)
self.mutex = thread.allocate_lock()
self.esema = thread.allocate_lock()
diff --git a/Lib/tempfile.py b/Lib/tempfile.py
index 0393ba5..d322d8f 100644
--- a/Lib/tempfile.py
+++ b/Lib/tempfile.py
@@ -50,12 +50,9 @@
try:
import thread as _thread
- _allocate_lock = _thread.allocate_lock
-except (ImportError, AttributeError):
- class _allocate_lock:
- def acquire(self):
- pass
- release = acquire
+except ImportError:
+ import dummy_thread as _thread
+_allocate_lock = _thread.allocate_lock
_text_openflags = _os.O_RDWR | _os.O_CREAT | _os.O_EXCL
if hasattr(_os, 'O_NOINHERIT'):