NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #4189 most downloaded on crates.io
Synchronization primitives that build upon the standard library
Last release 4 years ago
no release in 18 months
Ships fairly regularly
a new release about every 1.6 years
Most releases are documented
notes for 4 of 6 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
6 releases · first in 2017
Nothing published for this version
Nothing published for this version
…has been changed to reflect this. This is a breaking change
SignalEvent and CountdownEvent have been updated to not use Mutexes internally
wait_timeout was changed to always wait for the full duration if the signal
was never set, so the return value has been changed to reflect this. This is a breaking
changeCountdownEvent was changed so that its counter is now is usize instead of
an isize. Since it's an invalid state for the counter to be below zero, let's encode that in
the type. This is a breaking change if you were directly using the counter value or its type
beforeOne column per quarter.
CountdownEvent::guard and CountdownGuard, to provide scope-based increment/decrement
CountdownEvent::guard and CountdownGuard, to provide scope-based increment/decrementWriterReaderPhaser, a primitive that allows multiple wait-free "writer critical sections"
against a "reader phase flip" that waits for currently-active writers to finish
PhaserCriticalSection and PhaserReadLockCountdownEvent::wait_timeout, to wait but also have a timeout
CountdownEvent::wait_timeout, to wait but also have a timeoutSignalEvent, a primitive that lets one or more threads wait for a signal from another oneadd docs and doctest for CountdownEvent
add docs and doctest for CountdownEvent
CountdownEvent, a primitive that keeps a counter that allows you to block until it hits zero<!-- vim: set tw=100 expandtab: -->
Your coding agent can read these notes before it upgrades. Set up the MCP server →