Add symbols of the stable ABI to python3dll.c #23598
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. |
|
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). |
fcc6935
into
python:master
|
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.
|
Add the following symbols to python3dll.c: * PyFrame_GetCode (bpo-40421) * PyFrame_GetLineNumber (bpo-40421) * PyObject_CallNoArgs (bpo-37194) * PyThreadState_GetFrame (bpo-39947) * PyThreadState_GetID (bpo-39947) * PyThreadState_GetInterpreter (bpo-39947) (cherry picked from commit fcc6935)
|
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: