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

gh-116322: Add Py_mod_gil module slot #116882

Merged
merged 24 commits into from
May 3, 2024
Merged

Commits on Mar 15, 2024

  1. Add Py_mod_gil module slot

    swtaarrs committed Mar 15, 2024
    Configuration menu
    Copy the full SHA
    fa92cb4 View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2024

  1. Configuration menu
    Copy the full SHA
    7edf796 View commit details
    Browse the repository at this point in the history

Commits on Apr 3, 2024

  1. Configuration menu
    Copy the full SHA
    450aa41 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6bbd281 View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2024

  1. Fix enabling the GIL, also support disabling the GIL

    More details:
    - Fix a race while enabling the GIL by checking if the GIL was enabled between
      a no-op call to `_PyEval_AcquireLock()` and the thread attaching, and trying
      again if it was.
    - Enable the GIL before running a module init function, since we can't know if
      it's a single-phase init module that doesn't support free-threading. Look at
      the state of the module after initialization to determine if it's safe to
      disable the GIL again.
    - Add `PyModule_SetGIL()`, which can be used by single-phase init modules to
      declare that they support running without the GIL.
    - Change `gil->enabled` from a simple on/off switch to a count of active
      requests to enable the GIL. This allows us to support multiple interleaved
      imports that each independently track whether the GIL should remain
      enabled. See the big comment in `pycore_ceval.h` for more details.
    swtaarrs committed Apr 15, 2024
    Configuration menu
    Copy the full SHA
    47b9e26 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f7c3e50 View commit details
    Browse the repository at this point in the history
  3. Fix module size in test_objecttypes

    Also fix the module format string for normal builds, since it only contains
    pointers (no `size_t`).
    swtaarrs committed Apr 15, 2024
    Configuration menu
    Copy the full SHA
    6c198e4 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    554c5b4 View commit details
    Browse the repository at this point in the history

Commits on Apr 23, 2024

  1. Configuration menu
    Copy the full SHA
    cd187a0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8057478 View commit details
    Browse the repository at this point in the history

Commits on Apr 26, 2024

  1. Configuration menu
    Copy the full SHA
    a8f0943 View commit details
    Browse the repository at this point in the history

Commits on May 1, 2024

  1. Configuration menu
    Copy the full SHA
    bbb949e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7f1205e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f8b02b3 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d2bad05 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d7d59f0 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    ccd6e00 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    8846586 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    99bc5cb View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    6882c13 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    da63df1 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    2998def View commit details
    Browse the repository at this point in the history

Commits on May 2, 2024

  1. Configuration menu
    Copy the full SHA
    77d1652 View commit details
    Browse the repository at this point in the history

Commits on May 3, 2024

  1. Configuration menu
    Copy the full SHA
    d1fe0cc View commit details
    Browse the repository at this point in the history