mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
Add feature macro PY_HAVE_THREAD_NATIVE_ID to the stable ABI definition (GH-32365)
This commit is contained in:
parent
5b4a4b6f09
commit
1c2fddddae
5 changed files with 15 additions and 4 deletions
2
Doc/data/stable_abi.dat
generated
2
Doc/data/stable_abi.dat
generated
|
@ -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,,
|
||||
|
|
1
Lib/test/test_stable_abi_ctypes.py
generated
1
Lib/test/test_stable_abi_ctypes.py
generated
|
@ -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",
|
||||
|
|
|
@ -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).
|
|
@ -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
|
||||
|
|
|
@ -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})')
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue