Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

gh-149225: Expose Py_CriticalSection in Stable ABI#149227

Merged
encukou merged 7 commits into
python:mainpython/cpython:mainfrom
encukou:critical-section-stable-abi-xsencukou/cpython:critical-section-stable-abi-xsCopy head branch name to clipboard
May 4, 2026
Merged

gh-149225: Expose Py_CriticalSection in Stable ABI#149227
encukou merged 7 commits into
python:mainpython/cpython:mainfrom
encukou:critical-section-stable-abi-xsencukou/cpython:critical-section-stable-abi-xsCopy head branch name to clipboard

Conversation

@encukou

@encukou encukou commented May 1, 2026

Copy link
Copy Markdown
Member

@read-the-docs-community

read-the-docs-community Bot commented May 1, 2026

Copy link
Copy Markdown

Comment thread Doc/c-api/synchronization.rst
@hugovk hugovk added the 3.15 pre-release feature fixes, bugs and security fixes label May 1, 2026

@vstinner vstinner left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Comment thread Include/critical_section.h Outdated
// Operations that need to lock two objects at once must use
// `Py_BEGIN_CRITICAL_SECTION2()`. You *CANNOT* use nested critical sections
// to lock more than one object at once, because the inner critical section
// may suspend the outer critical sections. This API does not provide a way

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// may suspend the outer critical sections. This API does not provide a way
// may suspend the outer critical sections. This API does not provide a way

@@ -0,0 +1,2 @@
:c:type:`PyCriticalSection` and related functions are added to the Stable
ABI.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you copy also this paragraph to What's New in Python 3.15 > C API changes > New features?

Comment thread Doc/c-api/synchronization.rst
@encukou encukou requested a review from AA-Turner as a code owner May 4, 2026 12:53
@vstinner

vstinner commented May 4, 2026

Copy link
Copy Markdown
Member

Tests / Windows / Build and test (x64, switch-case) (pull_request): Failing after 23m

Oh, the "FAIL: test_got_eof (test.test_ssl.ThreadedTests.test_got_eof)" failure is related to my recent OpenSSL 4 changes. I wrote #149366 to fix the test.

@encukou encukou merged commit 6ca5cdb into python:main May 4, 2026
98 of 102 checks passed
@encukou encukou deleted the critical-section-stable-abi-xs branch May 4, 2026 15:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3.15 pre-release feature fixes, bugs and security fixes release-blocker

Projects

Development

Successfully merging this pull request may close these issues.

4 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.