GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — gh-59956: Clarify GILState-related Code by ericsnowcurrently · Pull Request #101161 · python/cpython

Conversation

@ericsnowcurrently

@ericsnowcurrently ericsnowcurrently commented Jan 19, 2023 •
edited by bedevere-bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

The objective of this change is to help make the GILState-related code easier to understand. This mostly involves moving code around and some semantically equivalent refactors. However, there are a also a small number of slight changes in structure and behavior:

  • tstate_current is moved out of _PyRuntimeState.gilstate (6281edb)
  • autoTSSkey is moved out of _PyRuntimeState.gilstate (4af2ecb)
  • autoTSSkey is initialized earlier (7bdf5a4)
  • autoTSSkey is re-initialized (after fork) earlier (7bdf5a4)
  • Issue: [subinterpreters] Make the PyGILState API compatible with subinterpreters #59956

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

IRadvisor reacted with thumbs up emoji
All reactions
  • 👍 1 reaction
ericsnowcurrently added 10 commits January 19, 2023 08:38
@ericsnowcurrently
Add some TODO comments.
c35aee5
@ericsnowcurrently
Factor out "current_tss" helpers.
bb86c59
@ericsnowcurrently
Inline the current_tss helpers.
5903b39
@ericsnowcurrently
Factor out "current_fast" helpers.
a5eb3d8
@ericsnowcurrently
Move tstate_current out of _PyRuntimeState.gilstate.
6281edb
@ericsnowcurrently
Do not use _PyThreadState_GET() in pystate.c.
2f8aaec
@ericsnowcurrently
Move autoTSSkey out of _PyRuntimeState.gilstate.
4af2ecb
@ericsnowcurrently
Initialize autoTSSkey earlier.
7bdf5a4
@ericsnowcurrently
Factor out bind_tstate() and unbind_tstate().
4b952e0
@ericsnowcurrently
PyThreadState_IsCurrent() -> holds_gil().
5e7283c
@ericsnowcurrently ericsnowcurrently added the skip news label Jan 19, 2023
@bedevere-bot bedevere-bot added the awaiting core review label Jan 19, 2023
@bedevere-bot bedevere-bot mentioned this pull request Jan 19, 2023
[subinterpreters] Make the PyGILState API compatible with subinterpreters #59956
Open
@ericsnowcurrently
Do not set PyThreadState.thread_id to a negative value.
57bd92e
@ericsnowcurrently ericsnowcurrently added the 🔨 test-with-buildbots Test PR w/ buildbots; report in status section label Jan 19, 2023
@bedevere-bot

bedevere-bot commented Jan 19, 2023

Copy link
Copy Markdown

🤖 New build scheduled with the buildbot fleet by @ericsnowcurrently for commit 57bd92e 🤖

If you want to schedule another build, you need to add the :hammer: test-with-buildbots label again.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-bot bedevere-bot removed the 🔨 test-with-buildbots Test PR w/ buildbots; report in status section label Jan 19, 2023
@ericsnowcurrently
ericsnowcurrently merged commit 6036c3e into python:main Jan 19, 2023
@bedevere-bot bedevere-bot removed the awaiting core review label Jan 19, 2023
@ericsnowcurrently
ericsnowcurrently deleted the gilstate-cleanup-2 branch January 19, 2023 23:04
@ericsnowcurrently ericsnowcurrently mentioned this pull request Jan 19, 2023
gh-59956: Fix Function Groupings in pystate.c #101172
Merged
ericsnowcurrently added a commit that referenced this pull request Jan 20, 2023
@ericsnowcurrently
gh-59956: Fix Function Groupings in pystate.c (gh-101172)
f30c940
This is a follow-up to gh-101161.  The objective is to make it easier to read Python/pystate.c by grouping the functions there in a consistent way.  This exclusively involves moving code around and adding various kinds of comments.

#59956
@The-Compiler The-Compiler mentioned this pull request Jun 12, 2023
3.12: "Python memory allocator called without holding the GIL" with PyMem_Free as Py_AtExit #105690
Closed
@rgommers rgommers mentioned this pull request Apr 20, 2025
BUG: crash in python-dbg CI job due to calling Python C API without holding the GIL scipy/scipy#22860
Open
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

skip news

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@ericsnowcurrently @bedevere-bot
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.