Message202164
2013/11/4 Antoine Pitrou <report@bugs.python.org>:
> I'm afraid clearing thread states is a bit too brutal. What if some destructor relies on contents of the thread states (e.g. thread locals)?
When Py_Finalize() is called, only one Python thread hold the GIL.
After _Py_Finalizing=tstate is set, no other thread can hold the GIL.
If another Python tries to lock the GIL, it is "killed" by
PyEval_RestoreThread().
Is that correct? If yes, in which thread would the destructor be
called? Would it read Python thread locals without holding the GIL? |
|
Date |
User |
Action |
Args |
2013-11-04 20:22:12 | vstinner | set | recipients:
+ vstinner, pitrou, Arfrever, serhiy.storchaka |
2013-11-04 20:22:12 | vstinner | link | issue19466 messages |
2013-11-04 20:22:11 | vstinner | create | |
|