New submission from Antoine Pitrou:

The threading main_thread() instance is associated to the thread that first 
imports the threading module.  In usual circumstances, this will indeed be the 
interpreter's main thread.  However, it is not always the case.  See attached 
reproducer.

$ ./python mainthread2.py 
child thread: <_MainThread(MainThread, started 140399567398656)>
main thread: <_DummyThread(Dummy-1, started daemon 140399588386560)>
Exception ignored in: <module 'threading' from 
'/home/antoine/cpython/default/Lib/threading.py'>
Traceback (most recent call last):
  File "/home/antoine/cpython/default/Lib/threading.py", line 1268, in _shutdown
    assert tlock.locked()
AssertionError:

----------
files: mainthread2.py
messages: 302521
nosy: pitrou
priority: normal
severity: normal
stage: needs patch
status: open
title: MainThread association logic is fragile
type: behavior
versions: Python 3.6, Python 3.7
Added file: https://bugs.python.org/file47153/mainthread2.py

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue31517>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to