GeezerVison is showing github.com — build(deps): bump parking_lot from 0.12.5 to 0.13.0 in the parking_lot group across 1 directory by dependabot[bot] · Pull Request #9546 · RustPython/RustPython
Conversation
dependabot
Bot
commented
on behalf of github
Nov 2, 2026
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
Bumps the parking_lot group with 1 update in the / directory: parking_lot.
Updates parking_lot from 0.12.5 to 0.13.0
Release notes
Sourced from parking_lot's releases.
parking_lot-v0.13.0
- Signficantly improved
Mutex and RwLock performance under contention by
deferring waking up parked threads until after the lock is released. (#545)
- Added per-acquisition state to
lock_api raw locks. RawMutex::Guard
replaces GuardMarker; rwlocks have separate SharedGuard, ExclusiveGuard,
and UpgradableGuard types. Unlock operations consume this state, while
upgrade and downgrade operations return replacement state. Bump and raw
condition-variable waits borrow and update the state. Consuming operations
must release their acquisition on unwind; borrowing operations must restore
ownership and valid state, or abort if restoration fails. (#544)
- Raised the MSRV to Rust 1.95 and upgraded all crates to edition 2024. (#533)
- Removed the
hardware-lock-elision feature. (#533)
- Removed automatic eventual fairness. Fair unlocking remains available through
the explicit fair-unlock APIs. This removes
UnparkResult::be_fair. (#533)
- Removed the no-op
lock_api/nightly feature. (#533)
- Removed the legacy
lock_api const_new methods and the redundant
parking_lot const_* constructor functions; the corresponding new
methods can be called in constant contexts. (#533)
- Replaced the recursive read methods on
RwLock with a dedicated reader-biased
RecursiveRwLock type. The RawRwLockRecursive and RawRwLockRecursiveTimed
extension traits have been removed from lock_api. (#533)
- Added
Once::new_completed for constructing a Once in the completed state. (#520)
- Added
Once::{is_completed, wait, wait_force} and the corresponding
OnceState query methods. (#533)
- Made additional lock, timeout, parking, and spin-wait accessors usable in
constant contexts. (#533)
- Added
into_inner_with_raw to lock_api's Mutex, RwLock, and ReentrantMutex. (#524)
- Added
RawCondvar, RawCondvarTimed, and the generic Condvar wrapper to
lock_api, and implemented parking_lot::Condvar using them. Custom raw
condition variables may allow spurious wakeups; their notification methods
must then return false or 0. parking_lot::Condvar still guarantees no
spurious wakeups and exact notification counts. (#523) (#533)
- Corrected the
Send and Sync bounds of lock guards in lock_api. (#533)
- Made
RawMutex::is_locked and RawRwLock::{is_locked, is_locked_exclusive} required methods. (#533)
- Renamed
MappedRwLockReadGuard::try_map_or_else to try_map_or_err. (#533)
- Clarified the safety requirements of raw lock implementations, including
acquire/release synchronization, moving or dropping a locked raw lock,
preserving the original lock mode on a failed upgrade, and stable thread IDs.
Acquisitions may unwind without leaving a new acquisition held; consuming
guard operations release their acquisition on unwind, while bump and wait
operations must restore ownership or abort. (#533) (#544)
- Clarified the aliasing requirements of unsafe raw-access, force-unlock, and
guard-construction APIs in
lock_api. (#533)
- Guard
unlocked and unlocked_fair operations now abort if re-locking panics.
Default raw-lock bump implementations also abort if re-locking panics. (#533)
- Guard
with_upgraded operations abort if raw upgrading or downgrading panics,
preserving continuous lock ownership. (#544)
- Parking-lot operations in
parking_lot_core are now guaranteed to never
unwind. (#533)
- Documented that parking-lot-based synchronization primitives must not be used
... (truncated)
Changelog
Sourced from parking_lot's changelog.
0.13.0 (parking_lot), 0.10.0 (parking_lot_core), 0.5.0 (lock_api) - 2026-10-21
- Signficantly improved
Mutex and RwLock performance under contention by
deferring waking up parked threads until after the lock is released. (#545)
- Added per-acquisition state to
lock_api raw locks. RawMutex::Guard
replaces GuardMarker; rwlocks have separate SharedGuard, ExclusiveGuard,
and UpgradableGuard types. Unlock operations consume this state, while
upgrade and downgrade operations return replacement state. Bump and raw
condition-variable waits borrow and update the state. Consuming operations
must release their acquisition on unwind; borrowing operations must restore
ownership and valid state, or abort if restoration fails. (#544)
- Raised the MSRV to Rust 1.95 and upgraded all crates to edition 2024. (#533)
- Removed the
hardware-lock-elision feature. (#533)
- Removed automatic eventual fairness. Fair unlocking remains available through
the explicit fair-unlock APIs. This removes
UnparkResult::be_fair. (#533)
- Removed the no-op
lock_api/nightly feature. (#533)
- Removed the legacy
lock_api const_new methods and the redundant
parking_lot const_* constructor functions; the corresponding new
methods can be called in constant contexts. (#533)
- Replaced the recursive read methods on
RwLock with a dedicated reader-biased
RecursiveRwLock type. The RawRwLockRecursive and RawRwLockRecursiveTimed
extension traits have been removed from lock_api. (#533)
- Added
Once::new_completed for constructing a Once in the completed state. (#520)
- Added
Once::{is_completed, wait, wait_force} and the corresponding
OnceState query methods. (#533)
- Made additional lock, timeout, parking, and spin-wait accessors usable in
constant contexts. (#533)
- Added
into_inner_with_raw to lock_api's Mutex, RwLock, and ReentrantMutex. (#524)
- Added
RawCondvar, RawCondvarTimed, and the generic Condvar wrapper to
lock_api, and implemented parking_lot::Condvar using them. Custom raw
condition variables may allow spurious wakeups; their notification methods
must then return false or 0. parking_lot::Condvar still guarantees no
spurious wakeups and exact notification counts. (#523) (#533)
- Corrected the
Send and Sync bounds of lock guards in lock_api. (#533)
- Made
RawMutex::is_locked and RawRwLock::{is_locked, is_locked_exclusive} required methods. (#533)
- Renamed
MappedRwLockReadGuard::try_map_or_else to try_map_or_err. (#533)
- Clarified the safety requirements of raw lock implementations, including
acquire/release synchronization, moving or dropping a locked raw lock,
preserving the original lock mode on a failed upgrade, and stable thread IDs.
Acquisitions may unwind without leaving a new acquisition held; consuming
guard operations release their acquisition on unwind, while bump and wait
operations must restore ownership or abort. (#533) (#544)
- Clarified the aliasing requirements of unsafe raw-access, force-unlock, and
guard-construction APIs in
lock_api. (#533)
- Guard
unlocked and unlocked_fair operations now abort if re-locking panics.
Default raw-lock bump implementations also abort if re-locking panics. (#533)
- Guard
with_upgraded operations abort if raw upgrading or downgrading panics,
preserving continuous lock ownership. (#544)
- Parking-lot operations in
parking_lot_core are now guaranteed to never
unwind. (#533)
... (truncated)
Commits
1a5c3dd Update changelog
ec07063 chore: release
f369d24 Merge pull request #538 from napi-rs/wasi-threads-parker
2f4103f Remove the WASI backend note from stable restrictions
a3e8717 Reuse existing CI jobs for WASI coverage
c2bfc7b Merge pull request #549 from Amanieu/fix-l4re-condvar-clock
696f28b Don't use pthread_condattr_setclock on L4RE
52941c0 Share the libc dependency between Unix and WASI
4fde6a7 Align the Rust setup action with existing workflows
f0ce547 Reuse the pthread backend for WASI on stable
- Additional commits viewable in compare view
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Codex Review Summary: ✅ Completed
This comment shows the latest Codex review activity on this pull request.
| Review |
Status |
Commit |
Review trigger |
| 📝 Code Review |
✅ Completed 2026-11-09T13:27:05.337577Z |
c5199e6 |
New commits |
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review" or "@codex security review".
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0e3148f59a
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
|
openssl-sys = "0.9.110"
|
|
|
optional = "0.5"
|
|
|
parking_lot = "0.12.3"
|
|
|
parking_lot = "0.13.0"
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Keep parking_lot on the fork-safe core
On Unix when a multithreaded process forks after using a parking_lot lock, this upgrade routes those locks through registry parking_lot_core 0.10.0 (see the new Cargo.lock dependency), while ForkStopTheWorld::begin_child_repair() still invokes reinit_after_fork() on the separately patched 0.9.12 core used directly by rustpython-vm. The child therefore resets the wrong core's global parking queues and can inherit queue state or bucket locks owned by vanished parent threads, causing a later parking_lot operation to hang; the fork-safe core patch must be upgraded and used by parking_lot as part of this bump.
Useful? React with 👍 / 👎.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Important
Review skipped
Bot user detected.
To trigger a single review, invoke the @coderabbitai review command.
Run configuration
-
You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.
Use the checkbox below for a quick retry:
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Share
-
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Reviewers
At least 1 approving review is required to merge this pull request.
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Labels
dependencies
Pull requests that update a dependency file
rust
Pull requests that update Rust code
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.
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.
|