Message402218
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. |
|
Date |
User |
Action |
Args |
2021-09-20 10:33:17 | vstinner | set | recipients:
+ vstinner, gregory.p.smith, izbyshev, jbms |
2021-09-20 10:33:17 | vstinner | set | messageid: <1632133997.49.0.339501735052.issue42969@roundup.psfhosted.org> |
2021-09-20 10:33:17 | vstinner | link | issue42969 messages |
2021-09-20 10:33:17 | vstinner | create | |
|