summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFred Drake <fdrake@acm.org>2002-12-30 23:32:50 (GMT)
committerFred Drake <fdrake@acm.org>2002-12-30 23:32:50 (GMT)
commita872595f31bccd0c11f950a49eb29c57f5a53f85 (patch)
treec58da26aa8322dbef49febb04fa81ff4e92c5700
parentf05aa10eae0e4bf139280d357ce94c7f9af0a066 (diff)
downloadcpython-a872595f31bccd0c11f950a49eb29c57f5a53f85.zip
cpython-a872595f31bccd0c11f950a49eb29c57f5a53f85.tar.gz
cpython-a872595f31bccd0c11f950a49eb29c57f5a53f85.tar.bz2
- prefer "import ... as" to "import / (assignments) / del" for most things
- when the thread module isn't available, subsequent attempts to import threading should not suceed
-rw-r--r--Lib/threading.py29
1 files changed, 11 insertions, 18 deletions
diff --git a/Lib/threading.py b/Lib/threading.py
index 1d0ee91..81236da 100644
--- a/Lib/threading.py
+++ b/Lib/threading.py
@@ -1,34 +1,27 @@
"""Thread module emulating a subset of Java's threading model."""
-import sys
-import time
-import thread
-import traceback
-import StringIO
+import sys as _sys
+
+try:
+ import thread
+except ImportError:
+ del _sys.modules[__name__]
+ raise
+
+from StringIO import StringIO as _StringIO
+from time import time as _time, sleep as _sleep
+from traceback import print_exc as _print_exc
# Rename some stuff so "from threading import *" is safe
__all__ = ['activeCount', 'Condition', 'currentThread', 'enumerate', 'Event',
'Lock', 'RLock', 'Semaphore', 'BoundedSemaphore', 'Thread', 'Timer']
-_sys = sys
-del sys
-
-_time = time.time
-_sleep = time.sleep
-del time
-
_start_new_thread = thread.start_new_thread
_allocate_lock = thread.allocate_lock
_get_ident = thread.get_ident
ThreadError = thread.error
del thread
-_print_exc = traceback.print_exc
-del traceback
-
-_StringIO = StringIO.StringIO
-del StringIO
-
# Debug support (adapted from ihooks.py)