This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients gregory.p.smith, izbyshev, jbms, vstinner
Date 2021-09-20.10:33:17
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1632133997.49.0.339501735052.issue42969@roundup.psfhosted.org>
In-reply-to
Content
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.
History
Date User Action Args
2021-09-20 10:33:17vstinnersetrecipients: + vstinner, gregory.p.smith, izbyshev, jbms
2021-09-20 10:33:17vstinnersetmessageid: <1632133997.49.0.339501735052.issue42969@roundup.psfhosted.org>
2021-09-20 10:33:17vstinnerlinkissue42969 messages
2021-09-20 10:33:17vstinnercreate