STINNER Victor <vstin...@python.org> added the comment:

PyThread_exit_thread() is exposed as _thread.exit() and _thread.exit_thread().

PyThread_exit_thread() is only called in take_gil() (at 3 places in the 
function) if tstate_must_exit(tstate) is true. It happens in two cases:

* (by design) at Python exit if a daemon thread tries to "take the GIL": 
PyThread_exit_thread() is called.

* (under an user action) at Python exit if threading._shutdown() is interrupted 
by CTRL+C: Python (regular) threads will continue to run while Py_Finalize() is 
running. In this case, when a (regular) thread tries to "take the GIL", 
PyThread_exit_thread() is called.

----------

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

Reply via email to