Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bpo-38644: Add Py_EnterRecursiveCall() to the limited API #17046

Merged
merged 1 commit into from
Nov 4, 2019
Merged

bpo-38644: Add Py_EnterRecursiveCall() to the limited API #17046

merged 1 commit into from
Nov 4, 2019

Conversation

vstinner
Copy link
Member

@vstinner vstinner commented Nov 4, 2019

Provide Py_EnterRecursiveCall() and Py_LeaveRecursiveCall() as
regular functions for the limited API. Previously, there were defined
as macros, but these macros didn't work with the limited API which
cannot access PyThreadState.recursion_depth field.

Remove _Py_CheckRecursionLimit from the stable ABI.

Add Include/cpython/ceval.h header file.

https://bugs.python.org/issue38644

Provide Py_EnterRecursiveCall() and Py_LeaveRecursiveCall() as
regular functions for the limited API. Previously, there were defined
as macros, but these macros didn't work with the limited API which
cannot access PyThreadState.recursion_depth field.

Remove _Py_CheckRecursionLimit from the stable ABI.

Add Include/cpython/ceval.h header file.
@vstinner
Copy link
Member Author

vstinner commented Nov 4, 2019

Remove _Py_CheckRecursionLimit from the stable ABI.

That's partially incorrect. Technically, the symbol is still exported by libpython, but Py_EnterRecursiveCall() and Py_LeaveRecursiveCall() no longer use it with the limited API.

@vstinner vstinner merged commit f4b1e3d into python:master Nov 4, 2019
@vstinner vstinner deleted the recurise_limited branch November 4, 2019 18:48
jacobneiltaylor pushed a commit to jacobneiltaylor/cpython that referenced this pull request Dec 5, 2019
…7046)

Provide Py_EnterRecursiveCall() and Py_LeaveRecursiveCall() as
regular functions for the limited API. Previously, there were defined
as macros, but these macros didn't work with the limited API which
cannot access PyThreadState.recursion_depth field.

Remove _Py_CheckRecursionLimit from the stable ABI.

Add Include/cpython/ceval.h header file.
shihai1991 pushed a commit to shihai1991/cpython that referenced this pull request Jan 31, 2020
…7046)

Provide Py_EnterRecursiveCall() and Py_LeaveRecursiveCall() as
regular functions for the limited API. Previously, there were defined
as macros, but these macros didn't work with the limited API which
cannot access PyThreadState.recursion_depth field.

Remove _Py_CheckRecursionLimit from the stable ABI.

Add Include/cpython/ceval.h header file.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants