diff options
Diffstat (limited to 'Lib/threading.py')
-rw-r--r-- | Lib/threading.py | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/Lib/threading.py b/Lib/threading.py index 56a4060337..c9f8cb64ee 100644 --- a/Lib/threading.py +++ b/Lib/threading.py @@ -3,10 +3,7 @@ import sys as _sys import _thread -try: - from time import monotonic as _time -except ImportError: - from time import time as _time +from time import monotonic as _time from traceback import format_exc as _format_exc from _weakrefset import WeakSet from itertools import islice as _islice, count as _count @@ -106,8 +103,14 @@ class _RLock: owner = _active[owner].name except KeyError: pass - return "<%s owner=%r count=%d>" % ( - self.__class__.__name__, owner, self._count) + return "<%s %s.%s object owner=%r count=%d at %s>" % ( + "locked" if self._block.locked() else "unlocked", + self.__class__.__module__, + self.__class__.__qualname__, + owner, + self._count, + hex(id(self)) + ) def acquire(self, blocking=True, timeout=-1): """Acquire a lock, blocking or non-blocking. @@ -918,7 +921,7 @@ class Thread: # self. if _sys and _sys.stderr is not None: print("Exception in thread %s:\n%s" % - (self.name, _format_exc()), file=self._stderr) + (self.name, _format_exc()), file=_sys.stderr) elif self._stderr is not None: # Do the best job possible w/o a huge amt. of code to # approximate a traceback (code ideas from @@ -1058,7 +1061,7 @@ class Thread: # Issue #18808: wait for the thread state to be gone. # At the end of the thread's life, after all knowledge of the thread # is removed from C data structures, C code releases our _tstate_lock. - # This method passes its arguments to _tstate_lock.aquire(). + # This method passes its arguments to _tstate_lock.acquire(). # If the lock is acquired, the C code is done, and self._stop() is # called. That sets ._is_stopped to True, and ._tstate_lock to None. lock = self._tstate_lock |