Skip to content

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

Merged
vstinner merged 1 commit intopython:masterfrom
vstinner:recurise_limited
Nov 4, 2019
Merged

bpo-38644: Add Py_EnterRecursiveCall() to the limited API#17046
vstinner merged 1 commit intopython:masterfrom
vstinner:recurise_limited

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