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 eric.snow, vstinner
Date 2020-03-18.18:21:15
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
trip_signal() has another problem. If pending->finishing is non-zero, _PyEval_AddPendingCall() uses the C API whereas the current thread may not hold the GIL. That's forbidden by the C API.

The more I think about it, the more I think that pending->finishing is fragile and should be removed.

I understood that pending->finishing was added to workaround crashes during Python finalization. I fixed multiple crashes related to daemon threads during Python finalization in bpo-39877. Maybe the bugs that I fixed were the ones which pending->finishing was supposed to work around.
Date User Action Args
2020-03-18 18:21:15vstinnersetrecipients: + vstinner, eric.snow
2020-03-18 18:21:15vstinnersetmessageid: <>
2020-03-18 18:21:15vstinnerlinkissue37127 messages
2020-03-18 18:21:15vstinnercreate