-
-
Notifications
You must be signed in to change notification settings - Fork 32k
bpo-36356: Destroy the GIL at exit #12453
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Failure on AppVeyor:
|
PR #12667 might help to make Python more reliable with this change. |
With this change, test_tracemalloc fails because pymain_exit_error() tries to cleanup too many things, even for errors. I wrote PR #12968 to leave the runtime alive on this case, it fix test_tracemalloc. |
I merged my PR #12968 and rebased this PR on top of it. It should fix test_tracemalloc. |
The Ubuntu PR Tests Job of Azure Pipelines PR failed with:
|
I don't understand test_io failuire. I prefer to wait until PR #12667 is merged to see if it does fix this issue. In the meanwhile, I put this issue again in WIP state. |
* Add _PyEval_FiniThreads2(). _PyEval_FiniThreads() now only clears the pending lock, whereas _PyEval_FiniThreads2() destroys the GIL. * pymain_free() now calls _PyEval_FiniThreads2(). * Py_FinalizeEx() now calls _PyEval_FiniThreads().
I merged PR #12667 and then rebased this PR on top of it. |
|
|
the pending lock, whereas _PyEval_FiniThreads2() destroys the GIL.
https://bugs.python.org/issue36356