Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: RustPython/RustPython
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: RustPython/RustPython
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: typelock
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 1 commit
  • 5 files changed
  • 1 contributor

Commits on Mar 14, 2026

  1. Add global type mutex for thread-safe type operations

    - Add type_mutex to PyGlobalState and with_type_lock helper
    - Wrap type-mutating operations (setattr, __bases__, annotations,
      __module__, __doc__, __type_params__) with type lock
    - Add version_for_specialization() under lock for safe version reads
    - Add lookup_ref_and_version_interned() for atomic type cache lookup
    - Replace manual version tag patterns in frame.rs with new methods
    - Fix _ctypes set_attr calls to go through vm for proper locking
    - Reinitialize type_mutex after fork
    - Fix memory ordering (Relaxed -> Acquire/Release) on getitem_version
    youknowone committed Mar 14, 2026
    Configuration menu
    Copy the full SHA
    c33d185 View commit details
    Browse the repository at this point in the history
Loading