Add symbols of the stable ABI to python3dll.c#23598
Add symbols of the stable ABI to python3dll.c#23598vstinner merged 1 commit intopython:masterfrom vstinner:stable_abi
Conversation
|
Can we please stop exposing There is no way to prevent race conditions when used from without the GIL held. The lifetime of a |
I guess that you are talking about bpo-39947. Functions are added to the limited C API in Python 3.9. The purpose of this issue is to make the PyThreadState structure opaque, currently C extensions access directly PyThreadState members. I suggest you to discuss on bpo-39947 directly. This issue is only about fixing the Windows implementation for the stable ABI. |
|
I like this PR, but GH-23415 is already open for the addition of |
|
Are these already exposed in the headers with |
This PR doesn't move any function to the stable ABI. They are already part of the stable API. This PR only fix the Windows implementation of the stable ABI. |
alex
left a comment
There was a problem hiding this comment.
We really need to find a way to make sure we're not constantly leaving windows abi3 in a broken state.
|
@alex: "We really need to find a way to make sure we're not constantly leaving windows abi3 in a broken state." Pablo is working on a Linux tool for that: Tools/scripts/stable_abi.py It shouldn't be too hard to check that Doc/data/stable_abi.dat and PC/python3dll.c are kept in sync (in the "Tests / Check if generated files are up to date" CI job). |
|
Wonderful!
…On Wed, Dec 16, 2020 at 9:08 AM Victor Stinner ***@***.***> wrote:
@alex <https://github.com/alex>: "We really need to find a way to make
sure we're not constantly leaving windows abi3 in a broken state."
Pablo is working on a Linux tool for that: Tools/scripts/stable_abi.py
It shouldn't be too hard to check that Doc/data/stable_abi.dat and
PC/python3dll.c are kept in sync (in the "Tests / Check if generated files
are up to date" CI job).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#23598 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAAGBBZGBK24C6RYD5TVP3SVC5MZANCNFSM4UJE7ZSQ>
.
--
All that is necessary for evil to succeed is for good people to do nothing.
|
|
I manually backported the change to 3.9 which uses a different format for the Windows stable ABI: PR #23801. |
|
Add the following symbols to python3dll.c: * PyFrame_GetCode (bpo-40421) * PyFrame_GetLineNumber (bpo-40421) * PyModule_AddObjectRef (bpo-1635741) * PyObject_CallNoArgs (bpo-37194) * PyThreadState_GetFrame (bpo-39947) * PyThreadState_GetID (bpo-39947) * PyThreadState_GetInterpreter (bpo-39947)
Add the following symbols to python3dll.c: