diff options
author | Georg Brandl <georg@python.org> | 2008-05-25 13:05:15 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2008-05-25 13:05:15 (GMT) |
commit | 2067bfdf253e134a4144d3747300dbfcc7cc6203 (patch) | |
tree | 76613f07319d07cc4f0159769131a051504f8c69 /Lib | |
parent | 3b4b45bfe546b023383d4382af7767359390e264 (diff) | |
download | cpython-2067bfdf253e134a4144d3747300dbfcc7cc6203.zip cpython-2067bfdf253e134a4144d3747300dbfcc7cc6203.tar.gz cpython-2067bfdf253e134a4144d3747300dbfcc7cc6203.tar.bz2 |
Rename thread to _thread and dummy_thread to _dummy_thread. Issue #2875.
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/_dummy_thread.py (renamed from Lib/dummy_thread.py) | 24 | ||||
-rw-r--r-- | Lib/_strptime.py | 4 | ||||
-rw-r--r-- | Lib/bsddb/__init__.py | 4 | ||||
-rw-r--r-- | Lib/dummy_threading.py | 20 | ||||
-rw-r--r-- | Lib/idlelib/run.py | 2 | ||||
-rw-r--r-- | Lib/logging/__init__.py | 2 | ||||
-rw-r--r-- | Lib/logging/config.py | 2 | ||||
-rw-r--r-- | Lib/mimetools.py | 8 | ||||
-rwxr-xr-x | Lib/pydoc.py | 2 | ||||
-rw-r--r-- | Lib/telnetlib.py | 4 | ||||
-rw-r--r-- | Lib/tempfile.py | 4 | ||||
-rw-r--r-- | Lib/test/crashers/multithreaded_close.py | 4 | ||||
-rw-r--r-- | Lib/test/fork_wait.py | 4 | ||||
-rw-r--r-- | Lib/test/test___all__.py | 2 | ||||
-rw-r--r-- | Lib/test/test_asynchat.py | 2 | ||||
-rw-r--r-- | Lib/test/test_capi.py | 8 | ||||
-rw-r--r-- | Lib/test/test_dummy_thread.py | 6 | ||||
-rw-r--r-- | Lib/test/test_socket.py | 3 | ||||
-rw-r--r-- | Lib/test/test_sys.py | 8 | ||||
-rw-r--r-- | Lib/test/test_thread.py | 2 | ||||
-rw-r--r-- | Lib/test/test_threaded_import.py | 2 | ||||
-rw-r--r-- | Lib/test/test_threadedtempfile.py | 2 | ||||
-rw-r--r-- | Lib/test/test_threading.py | 18 | ||||
-rw-r--r-- | Lib/test/test_threadsignals.py | 2 | ||||
-rw-r--r-- | Lib/threading.py | 31 |
25 files changed, 83 insertions, 87 deletions
diff --git a/Lib/dummy_thread.py b/Lib/_dummy_thread.py index c131384..352215a 100644 --- a/Lib/dummy_thread.py +++ b/Lib/_dummy_thread.py @@ -6,9 +6,9 @@ not need to be rewritten for when the thread module is not present. Suggested usage is:: try: - import thread + import _thread except ImportError: - import dummy_thread as thread + import _dummy_thread as _thread """ # Exports only things specified by thread documentation; @@ -20,17 +20,17 @@ import traceback as _traceback import warnings class error(Exception): - """Dummy implementation of thread.error.""" + """Dummy implementation of _thread.error.""" def __init__(self, *args): self.args = args def start_new_thread(function, args, kwargs={}): - """Dummy implementation of thread.start_new_thread(). + """Dummy implementation of _thread.start_new_thread(). Compatibility is maintained by making sure that ``args`` is a tuple and ``kwargs`` is a dictionary. If an exception is raised - and it is SystemExit (which can be done by thread.exit()) it is + and it is SystemExit (which can be done by _thread.exit()) it is caught and nothing is done; all other exceptions are printed out by using traceback.print_exc(). @@ -57,34 +57,34 @@ def start_new_thread(function, args, kwargs={}): raise KeyboardInterrupt def exit(): - """Dummy implementation of thread.exit().""" + """Dummy implementation of _thread.exit().""" raise SystemExit def get_ident(): - """Dummy implementation of thread.get_ident(). + """Dummy implementation of _thread.get_ident(). - Since this module should only be used when threadmodule is not + Since this module should only be used when _threadmodule is not available, it is safe to assume that the current process is the only thread. Thus a constant can be safely returned. """ return -1 def allocate_lock(): - """Dummy implementation of thread.allocate_lock().""" + """Dummy implementation of _thread.allocate_lock().""" return LockType() def stack_size(size=None): - """Dummy implementation of thread.stack_size().""" + """Dummy implementation of _thread.stack_size().""" if size is not None: raise error("setting thread stack size not supported") return 0 class LockType(object): - """Class implementing dummy implementation of thread.LockType. + """Class implementing dummy implementation of _thread.LockType. Compatibility is maintained by maintaining self.locked_status which is a boolean that stores the state of the lock. Pickling of - the lock, though, should not be done since if the thread module is + the lock, though, should not be done since if the _thread module is then used with an unpickled ``lock()`` from here problems could occur from this class not having atomic methods. diff --git a/Lib/_strptime.py b/Lib/_strptime.py index b323e8f..c3568b0 100644 --- a/Lib/_strptime.py +++ b/Lib/_strptime.py @@ -18,9 +18,9 @@ from re import IGNORECASE from re import escape as re_escape from datetime import date as datetime_date try: - from thread import allocate_lock as _thread_allocate_lock + from _thread import allocate_lock as _thread_allocate_lock except: - from dummy_thread import allocate_lock as _thread_allocate_lock + from _dummy_thread import allocate_lock as _thread_allocate_lock __all__ = [] diff --git a/Lib/bsddb/__init__.py b/Lib/bsddb/__init__.py index b2786d3..0e68219 100644 --- a/Lib/bsddb/__init__.py +++ b/Lib/bsddb/__init__.py @@ -526,8 +526,8 @@ def _checkflag(flag, file): # BerkeleyDB was too. try: - import thread - del thread + import _thread + del _thread if db.version() < (3, 3, 0): db.DB_THREAD = 0 except ImportError: diff --git a/Lib/dummy_threading.py b/Lib/dummy_threading.py index 81028a3..1bb7eee 100644 --- a/Lib/dummy_threading.py +++ b/Lib/dummy_threading.py @@ -3,12 +3,12 @@ The module ``_dummy_threading`` is added to ``sys.modules`` in order to not have ``threading`` considered imported. Had ``threading`` been directly imported it would have made all subsequent imports succeed -regardless of whether ``thread`` was available which is not desired. +regardless of whether ``_thread`` was available which is not desired. """ from sys import modules as sys_modules -import dummy_thread +import _dummy_thread # Declaring now so as to not have to nest ``try``s to get proper clean-up. holding_thread = False @@ -16,15 +16,15 @@ holding_threading = False holding__threading_local = False try: - # Could have checked if ``thread`` was not in sys.modules and gone + # Could have checked if ``_thread`` was not in sys.modules and gone # a different route, but decided to mirror technique used with # ``threading`` below. - if 'thread' in sys_modules: - held_thread = sys_modules['thread'] + if '_thread' in sys_modules: + held_thread = sys_modules['_thread'] holding_thread = True - # Must have some module named ``thread`` that implements its API + # Must have some module named ``_thread`` that implements its API # in order to initially import ``threading``. - sys_modules['thread'] = sys_modules['dummy_thread'] + sys_modules['_thread'] = sys_modules['_dummy_thread'] if 'threading' in sys_modules: # If ``threading`` is already imported, might as well prevent @@ -68,11 +68,11 @@ finally: # Put back ``thread`` if we overwrote, else del the entry we made if holding_thread: - sys_modules['thread'] = held_thread + sys_modules['_thread'] = held_thread del held_thread else: - del sys_modules['thread'] + del sys_modules['_thread'] del holding_thread - del dummy_thread + del _dummy_thread del sys_modules diff --git a/Lib/idlelib/run.py b/Lib/idlelib/run.py index c9f5010..7a662c9 100644 --- a/Lib/idlelib/run.py +++ b/Lib/idlelib/run.py @@ -3,7 +3,7 @@ import linecache import time import socket import traceback -import thread +import _thread as thread import threading import queue diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py index 92ab502..99e813b 100644 --- a/Lib/logging/__init__.py +++ b/Lib/logging/__init__.py @@ -35,7 +35,7 @@ except ImportError: codecs = None try: - import thread + import _thread as thread import threading except ImportError: thread = None diff --git a/Lib/logging/config.py b/Lib/logging/config.py index 006d669..73f3ecc 100644 --- a/Lib/logging/config.py +++ b/Lib/logging/config.py @@ -27,7 +27,7 @@ To use, simply 'import logging' and log away! import sys, logging, logging.handlers, socket, struct, os, traceback try: - import thread + import _thread as thread import threading except ImportError: thread = None diff --git a/Lib/mimetools.py b/Lib/mimetools.py index 0112f48..3ea5e1b 100644 --- a/Lib/mimetools.py +++ b/Lib/mimetools.py @@ -96,11 +96,11 @@ class Message(rfc822.Message): # ----------------- try: - import thread + import _thread except ImportError: - import dummy_thread as thread -_counter_lock = thread.allocate_lock() -del thread + import _dummy_thread as _thread +_counter_lock = _thread.allocate_lock() +del _thread _counter = 0 def _get_next_counter(): diff --git a/Lib/pydoc.py b/Lib/pydoc.py index 57bd5e2..140e1d8 100755 --- a/Lib/pydoc.py +++ b/Lib/pydoc.py @@ -347,7 +347,7 @@ class Doc: if (isinstance(object, type(os)) and (object.__name__ in ('errno', 'exceptions', 'gc', 'imp', 'marshal', 'posix', 'signal', 'sys', - 'thread', 'zipimport') or + '_thread', 'zipimport') or (file.startswith(basedir) and not file.startswith(os.path.join(basedir, 'site-packages'))))): if docloc.startswith("http://"): diff --git a/Lib/telnetlib.py b/Lib/telnetlib.py index db37200..33029e1 100644 --- a/Lib/telnetlib.py +++ b/Lib/telnetlib.py @@ -548,8 +548,8 @@ class Telnet: def mt_interact(self): """Multithreaded version of interact().""" - import thread - thread.start_new_thread(self.listener, ()) + import _thread + _thread.start_new_thread(self.listener, ()) while 1: line = sys.stdin.readline() if not line: diff --git a/Lib/tempfile.py b/Lib/tempfile.py index 1041c14..2caa56a 100644 --- a/Lib/tempfile.py +++ b/Lib/tempfile.py @@ -52,9 +52,9 @@ else: try: - import thread as _thread + import _thread except ImportError: - import dummy_thread as _thread + import _dummy_thread as _thread _allocate_lock = _thread.allocate_lock _text_openflags = _os.O_RDWR | _os.O_CREAT | _os.O_EXCL diff --git a/Lib/test/crashers/multithreaded_close.py b/Lib/test/crashers/multithreaded_close.py index 5224341..f862d28 100644 --- a/Lib/test/crashers/multithreaded_close.py +++ b/Lib/test/crashers/multithreaded_close.py @@ -6,9 +6,9 @@ # http://bugs.python.org/issue595601 # http://bugs.python.org/issue815646 -import thread +import _thread while 1: f = open("multithreaded_close.tmp", "w") - thread.start_new_thread(f.close, ()) + _thread.start_new_thread(f.close, ()) f.close() diff --git a/Lib/test/fork_wait.py b/Lib/test/fork_wait.py index 678e3c4..03a4d6f 100644 --- a/Lib/test/fork_wait.py +++ b/Lib/test/fork_wait.py @@ -9,7 +9,7 @@ On some systems (e.g. Solaris without posix threads) we find that all active threads survive in the child after a fork(); this is an error. """ -import os, sys, time, thread, unittest +import os, sys, time, _thread, unittest LONGSLEEP = 2 SHORTSLEEP = 0.5 @@ -43,7 +43,7 @@ class ForkWait(unittest.TestCase): def test_wait(self): for i in range(NUM_THREADS): - thread.start_new(self.f, (i,)) + _thread.start_new(self.f, (i,)) time.sleep(LONGSLEEP) diff --git a/Lib/test/test___all__.py b/Lib/test/test___all__.py index c58aead..615f6c5 100644 --- a/Lib/test/test___all__.py +++ b/Lib/test/test___all__.py @@ -63,7 +63,7 @@ class AllTest(unittest.TestCase): self.check_all("dircache") self.check_all("dis") self.check_all("doctest") - self.check_all("dummy_thread") + self.check_all("_dummy_thread") self.check_all("dummy_threading") self.check_all("filecmp") self.check_all("fileinput") diff --git a/Lib/test/test_asynchat.py b/Lib/test/test_asynchat.py index 4d49f58..082fde9 100644 --- a/Lib/test/test_asynchat.py +++ b/Lib/test/test_asynchat.py @@ -1,6 +1,6 @@ # test asynchat -- requires threading -import thread # If this fails, we can't test this module +import _thread as thread # If this fails, we can't test this module import asyncore, asynchat, socket, threading, time import unittest import sys diff --git a/Lib/test/test_capi.py b/Lib/test/test_capi.py index df5ce0b..6c87645 100644 --- a/Lib/test/test_capi.py +++ b/Lib/test/test_capi.py @@ -22,13 +22,13 @@ def test_main(): idents = [] def callback(): - idents.append(thread.get_ident()) + idents.append(_thread.get_ident()) _testcapi._test_thread_state(callback) a = b = callback time.sleep(1) # Check our main thread is in the list exactly 3 times. - if idents.count(thread.get_ident()) != 3: + if idents.count(_thread.get_ident()) != 3: raise support.TestFailed( "Couldn't find main thread correctly in the list") @@ -39,11 +39,11 @@ def test_main(): have_thread_state = False if have_thread_state: - import thread + import _thread import time TestThreadState() import threading - t=threading.Thread(target=TestThreadState) + t = threading.Thread(target=TestThreadState) t.start() t.join() diff --git a/Lib/test/test_dummy_thread.py b/Lib/test/test_dummy_thread.py index 585711f..5b7db18 100644 --- a/Lib/test/test_dummy_thread.py +++ b/Lib/test/test_dummy_thread.py @@ -5,15 +5,15 @@ to be used, test_main() can be called with the module to use as the thread implementation as its sole argument. """ -import dummy_thread as _thread +import _dummy_thread as _thread import time import queue import random import unittest from test import support -DELAY = 0 # Set > 0 when testing a module other than dummy_thread, such as - # the 'thread' module. +DELAY = 0 # Set > 0 when testing a module other than _dummy_thread, such as + # the '_thread' module. class LockTests(unittest.TestCase): """Test lock objects.""" diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py index 349548f..d12968c 100644 --- a/Lib/test/test_socket.py +++ b/Lib/test/test_socket.py @@ -6,7 +6,8 @@ from test import support import errno import socket import select -import thread, threading +import _thread as thread +import threading import time import traceback import queue diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py index 7c66e0d..231b460 100644 --- a/Lib/test/test_sys.py +++ b/Lib/test/test_sys.py @@ -191,7 +191,7 @@ class SysModuleTest(unittest.TestCase): def test_current_frames(self): have_threads = True try: - import thread + import _thread except ImportError: have_threads = False @@ -202,7 +202,7 @@ class SysModuleTest(unittest.TestCase): # Test sys._current_frames() in a WITH_THREADS build. def current_frames_with_threads(self): - import threading, thread + import threading, _thread import traceback # Spawn a thread that blocks at a known place. Then the main @@ -216,7 +216,7 @@ class SysModuleTest(unittest.TestCase): g456() def g456(): - thread_info.append(thread.get_ident()) + thread_info.append(_thread.get_ident()) entered_g.set() leave_g.wait() @@ -232,7 +232,7 @@ class SysModuleTest(unittest.TestCase): d = sys._current_frames() - main_id = thread.get_ident() + main_id = _thread.get_ident() self.assert_(main_id in d) self.assert_(thread_id in d) diff --git a/Lib/test/test_thread.py b/Lib/test/test_thread.py index cff9f81..84d5a9d 100644 --- a/Lib/test/test_thread.py +++ b/Lib/test/test_thread.py @@ -2,7 +2,7 @@ import os import unittest import random from test import support -import thread +import _thread as thread import time diff --git a/Lib/test/test_threaded_import.py b/Lib/test/test_threaded_import.py index fbe479c..67d1505 100644 --- a/Lib/test/test_threaded_import.py +++ b/Lib/test/test_threaded_import.py @@ -5,7 +5,7 @@ # complains several times about module random having no attribute # randrange, and then Python hangs. -import thread +import _thread as thread from test.support import verbose, TestSkipped, TestFailed critical_section = thread.allocate_lock() diff --git a/Lib/test/test_threadedtempfile.py b/Lib/test/test_threadedtempfile.py index fb122d0..d93b382 100644 --- a/Lib/test/test_threadedtempfile.py +++ b/Lib/test/test_threadedtempfile.py @@ -16,7 +16,7 @@ provoking a 2.0 failure under Linux. NUM_THREADS = 20 FILES_PER_THREAD = 50 -import thread # If this fails, we can't test this module +import _thread as thread # If this fails, we can't test this module import threading import tempfile diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py index 9582dde..3c09b0b 100644 --- a/Lib/test/test_threading.py +++ b/Lib/test/test_threading.py @@ -5,7 +5,7 @@ from test.support import verbose import random import sys import threading -import thread +import _thread import time import unittest import weakref @@ -88,7 +88,7 @@ class ThreadTests(unittest.TestCase): print('with 256kB thread stack size...') try: threading.stack_size(262144) - except thread.error: + except _thread.error: if verbose: print('platform does not support changing thread stack size') return @@ -101,7 +101,7 @@ class ThreadTests(unittest.TestCase): print('with 1MB thread stack size...') try: threading.stack_size(0x100000) - except thread.error: + except _thread.error: if verbose: print('platform does not support changing thread stack size') return @@ -120,7 +120,7 @@ class ThreadTests(unittest.TestCase): mutex = threading.Lock() mutex.acquire() - tid = thread.start_new_thread(f, (mutex,)) + tid = _thread.start_new_thread(f, (mutex,)) # Wait for the thread to finish. mutex.acquire() self.assert_(tid in threading._active) @@ -154,7 +154,7 @@ class ThreadTests(unittest.TestCase): class Worker(threading.Thread): def run(self): - self.id = thread.get_ident() + self.id = _thread.get_ident() self.finished = False try: @@ -211,10 +211,10 @@ class ThreadTests(unittest.TestCase): import subprocess rc = subprocess.call([sys.executable, "-c", """if 1: - import ctypes, sys, time, thread + import ctypes, sys, time, _thread # This lock is used as a simple event variable. - ready = thread.allocate_lock() + ready = _thread.allocate_lock() ready.acquire() # Module globals are cleared before __del__ is run @@ -231,7 +231,7 @@ class ThreadTests(unittest.TestCase): ready.release() time.sleep(100) - thread.start_new_thread(waitingThread, ()) + _thread.start_new_thread(waitingThread, ()) ready.acquire() # Be sure the other thread is waiting. sys.exit(42) """]) @@ -357,7 +357,7 @@ class ThreadingExceptionTests(unittest.TestCase): def test_main(): test.support.run_unittest(ThreadTests, - ThreadingExceptionTests) + ThreadingExceptionTests) if __name__ == "__main__": test_main() diff --git a/Lib/test/test_threadsignals.py b/Lib/test/test_threadsignals.py index cbed42c..14bd3b7 100644 --- a/Lib/test/test_threadsignals.py +++ b/Lib/test/test_threadsignals.py @@ -1,7 +1,7 @@ """PyUnit testing that threads honor our signal semantics""" import unittest -import thread +import _thread as thread import signal import os import sys diff --git a/Lib/threading.py b/Lib/threading.py index be97807..673d88e 100644 --- a/Lib/threading.py +++ b/Lib/threading.py @@ -1,12 +1,7 @@ """Thread module emulating a subset of Java's threading model.""" import sys as _sys - -try: - import thread -except ImportError: - del _sys.modules[__name__] - raise +import _thread from time import time as _time, sleep as _sleep from traceback import format_exc as _format_exc @@ -17,11 +12,11 @@ __all__ = ['activeCount', 'Condition', 'currentThread', 'enumerate', 'Event', 'Lock', 'RLock', 'Semaphore', 'BoundedSemaphore', 'Thread', 'Timer', 'setprofile', 'settrace', 'local', 'stack_size'] -_start_new_thread = thread.start_new_thread -_allocate_lock = thread.allocate_lock -_get_ident = thread.get_ident -ThreadError = thread.error -del thread +_start_new_thread = _thread.start_new_thread +_allocate_lock = _thread.allocate_lock +_get_ident = _thread.get_ident +ThreadError = _thread.error +del _thread # Debug support (adapted from ihooks.py). @@ -556,18 +551,18 @@ class Thread(_Verbose): def _delete(self): "Remove current thread from the dict of currently running threads." - # Notes about running with dummy_thread: + # Notes about running with _dummy_thread: # - # Must take care to not raise an exception if dummy_thread is being + # Must take care to not raise an exception if _dummy_thread is being # used (and thus this module is being used as an instance of - # dummy_threading). dummy_thread.get_ident() always returns -1 since - # there is only one thread if dummy_thread is being used. Thus + # dummy_threading). _dummy_thread.get_ident() always returns -1 since + # there is only one thread if _dummy_thread is being used. Thus # len(_active) is always <= 1 here, and any Thread instance created # overwrites the (if any) thread currently registered in _active. # # An instance of _MainThread is always created by 'threading'. This # gets overwritten the instant an instance of Thread is created; both - # threads return -1 from dummy_thread.get_ident() and thus have the + # threads return -1 from _dummy_thread.get_ident() and thus have the # same key in the dict. So when the _MainThread instance created by # 'threading' tries to clean itself up when atexit calls this method # it gets a KeyError if another Thread instance was created. @@ -763,7 +758,7 @@ def enumerate(): _active_limbo_lock.release() return active -from thread import stack_size +from _thread import stack_size # Create the main thread object, # and make it available for the interpreter @@ -775,7 +770,7 @@ _shutdown = _MainThread()._exitfunc # module, or from the python fallback try: - from thread import _local as local + from _thread import _local as local except ImportError: from _threading_local import local |