Skip to content

bpo-39877: Refactor take_gil() function #18885

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

Merged
merged 1 commit into from
Mar 9, 2020
Merged

bpo-39877: Refactor take_gil() function #18885

merged 1 commit into from
Mar 9, 2020

Conversation

vstinner
Copy link
Member

@vstinner vstinner commented Mar 9, 2020

  • Remove ceval parameter of take_gil(): get it from tstate.
  • Move exit_thread_if_finalizing() call inside take_gil(). Replace
    exit_thread_if_finalizing() with tstate_must_exit(): the caller is
    now responsible to call PyThread_exit_thread().
  • Move is_tstate_valid() assertion inside take_gil(). Remove
    is_tstate_valid(): inline code into take_gil().
  • Move gil_created() assertion inside take_gil().

https://bugs.python.org/issue39877

* Remove ceval parameter of take_gil(): get it from tstate.
* Move exit_thread_if_finalizing() call inside take_gil(). Replace
  exit_thread_if_finalizing() with tstate_must_exit(): the caller is
  now responsible to call PyThread_exit_thread().
* Move is_tstate_valid() assertion inside take_gil(). Remove
  is_tstate_valid(): inline code into take_gil().
* Move gil_created() assertion inside take_gil().
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants