mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
Issue #4188: Avoid creating dummy thread objects when logging operations
from the threading module (with the internal verbose flag activated).
This commit is contained in:
parent
988dbd7bc2
commit
401edd69cf
2 changed files with 11 additions and 2 deletions
|
@ -55,8 +55,14 @@ if __debug__:
|
|||
def _note(self, format, *args):
|
||||
if self._verbose:
|
||||
format = format % args
|
||||
format = "%s: %s\n" % (
|
||||
current_thread().name, format)
|
||||
# Issue #4188: calling current_thread() can incur an infinite
|
||||
# recursion if it has to create a DummyThread on the fly.
|
||||
ident = _get_ident()
|
||||
try:
|
||||
name = _active[ident].name
|
||||
except KeyError:
|
||||
name = "<OS thread %d>" % ident
|
||||
format = "%s: %s\n" % (name, format)
|
||||
_sys.stderr.write(format)
|
||||
|
||||
else:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue