diff options
author | Victor Stinner <vstinner@python.org> | 2023-09-30 17:25:54 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-30 17:25:54 (GMT) |
commit | 74e425ec186dde6bcfb172616fe8f35ccb5a09bb (patch) | |
tree | 2c9167ef4bc17e11d2ada574f184949a8f53e5bc /Misc | |
parent | f3bb00ea12db6525f07d62368a65efec47d192b9 (diff) | |
download | cpython-74e425ec186dde6bcfb172616fe8f35ccb5a09bb.zip cpython-74e425ec186dde6bcfb172616fe8f35ccb5a09bb.tar.gz cpython-74e425ec186dde6bcfb172616fe8f35ccb5a09bb.tar.bz2 |
gh-110014: Fix _POSIX_THREADS and _POSIX_SEMAPHORES usage (#110139)
* pycore_pythread.h is now the central place to make sure that
_POSIX_THREADS and _POSIX_SEMAPHORES macros are defined if
available.
* Make sure that pycore_pythread.h is included when _POSIX_THREADS
and _POSIX_SEMAPHORES macros are tested.
* PY_TIMEOUT_MAX is now defined as a constant, since its value
depends on _POSIX_THREADS, instead of being defined as a macro.
* Prevent integer overflow in the preprocessor when computing
PY_TIMEOUT_MAX_VALUE on Windows:
replace "0xFFFFFFFELL * 1000 < LLONG_MAX"
with "0xFFFFFFFELL < LLONG_MAX / 1000".
* Document the change and give hints how to fix affected code.
* Add an exception for PY_TIMEOUT_MAX name to smelly.py
* Add PY_TIMEOUT_MAX to the stable ABI
Diffstat (limited to 'Misc')
-rw-r--r-- | Misc/stable_abi.toml | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Misc/stable_abi.toml b/Misc/stable_abi.toml index 8df3f85..46e2307 100644 --- a/Misc/stable_abi.toml +++ b/Misc/stable_abi.toml @@ -1843,6 +1843,10 @@ [function.PyThread_start_new_thread] added = '3.2' +# Not mentioned in PEP 384, was implemented as a macro in Python <= 3.12 +[data.PY_TIMEOUT_MAX] + added = '3.2' + # The following were added in PC/python3.def in Python 3.3: # 7800f75827b1be557be16f3b18f5170fbf9fae08 # 9c56409d3353b8cd4cfc19e0467bbe23fd34fc92 |