Add feature macro PY_HAVE_THREAD_NATIVE_ID to the stable ABI definition (GH-32365)

This commit is contained in:
Petr Viktorin 2022-04-08 14:35:11 +02:00 committed by GitHub
parent 5b4a4b6f09
commit 1c2fddddae
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 15 additions and 4 deletions

View file

@ -625,7 +625,7 @@ function,PyThread_free_lock,3.2,,
function,PyThread_get_key_value,3.2,,
function,PyThread_get_stacksize,3.2,,
function,PyThread_get_thread_ident,3.2,,
function,PyThread_get_thread_native_id,3.2,,
function,PyThread_get_thread_native_id,3.2,on platforms with native thread IDs,
function,PyThread_init_thread,3.2,,
function,PyThread_release_lock,3.2,,
function,PyThread_set_key_value,3.2,,

View file

@ -615,7 +615,6 @@ SYMBOL_NAMES = (
"PyThread_get_key_value",
"PyThread_get_stacksize",
"PyThread_get_thread_ident",
"PyThread_get_thread_native_id",
"PyThread_init_thread",
"PyThread_release_lock",
"PyThread_set_key_value",

View file

@ -0,0 +1,2 @@
:c:func:`PyThread_get_thread_native_id` is excluded from the stable ABI on
platforms where it doesn't exist (like Solaris).

View file

@ -1787,6 +1787,7 @@ function PyThread_get_stacksize
function PyThread_get_thread_ident
added 3.2
function PyThread_get_thread_native_id
ifdef PY_HAVE_THREAD_NATIVE_ID
added 3.2
function PyThread_init_thread
added 3.2

View file

@ -49,8 +49,17 @@ IFDEF_DOC_NOTES = {
'MS_WINDOWS': 'on Windows',
'HAVE_FORK': 'on platforms with fork()',
'USE_STACKCHECK': 'on platforms with USE_STACKCHECK',
'PY_HAVE_THREAD_NATIVE_ID': 'on platforms with native thread IDs',
}
# To generate the DLL definition, we need to know which feature macros are
# defined on Windows. On all platforms.
# Best way to do that is to hardcode the list (and later test in on Windows).
WINDOWS_IFDEFS = frozenset({
'MS_WINDOWS',
'PY_HAVE_THREAD_NATIVE_ID',
})
# The stable ABI manifest (Misc/stable_abi.txt) exists only to fill the
# following dataclasses.
# Feel free to change its syntax (and the `parse_manifest` function)
@ -232,7 +241,7 @@ def gen_python3dll(manifest, args, outfile):
for item in sorted(
manifest.select(
{'function'}, include_abi_only=True, ifdef={'MS_WINDOWS'}),
{'function'}, include_abi_only=True, ifdef=WINDOWS_IFDEFS),
key=sort_key):
write(f'EXPORT_FUNC({item.name})')
@ -240,7 +249,7 @@ def gen_python3dll(manifest, args, outfile):
for item in sorted(
manifest.select(
{'data'}, include_abi_only=True, ifdef={'MS_WINDOWS'}),
{'data'}, include_abi_only=True, ifdef=WINDOWS_IFDEFS),
key=sort_key):
write(f'EXPORT_DATA({item.name})')