Skip to main content

Module sync

Module sync 

Source

Modules§

atomic
Atomic types
mpsc
Multi-producer, single-consumer FIFO queue communication primitives.

Structs§

Arc
A thread-safe reference-counting pointer. ‘Arc’ stands for ‘Atomically Reference Counted’.
Barrier
A barrier enables multiple threads to synchronize the beginning of some computation.
BarrierWaitResult
A BarrierWaitResult is returned by Barrier::wait() when all threads in the Barrier have rendezvoused.
Condvar
A Condvar represents the ability to block a thread such that it consumes no CPU time while waiting for an event to occur.
Mutex
A mutex, the same as std::sync::Mutex.
MutexGuard
A mutex guard, the same as std::sync::MutexGuard.
Once
A synchronization primitive which can be used to run a one-time global initialization. Useful for one-time initialization for FFI or related functionality. This type can only be constructed with Once::new().
OnceState
State yielded to Once::call_once_force()’s closure parameter. The state can be used to query the poison status of the Once.
PoisonError
A type of error which can be returned whenever a lock is acquired.
ResourceSignature
RwLock
A reader-writer lock, the same as std::sync::RwLock.
RwLockReadGuard
RAII structure used to release the shared read access of a RwLock when dropped.
RwLockWriteGuard
RAII structure used to release the exclusive write access of a RwLock when dropped.
WaitTimeoutResult
A type indicating whether a timed wait on a condition variable returned due to a time out or not.
Weak
Weak is a version of Arc that holds a non-owning reference to the managed allocation.

Enums§

ResourceType
A stable signature for identifying resources in Shuttle tests. This is used internally to track and differentiate between different resource instances across shuttle iterations. This signature hash is not guaranteed to be unique (two different resources may have the same hash). In particular, resources which provide const constructors cannot provide any runtime context to their signatures, so any two resources created at the same source location will collide.
TryLockError
An enumeration of possible errors associated with a TryLockResult which can occur while trying to acquire a lock, from the try_lock method on a Mutex or the try_read and try_write methods on an RwLock.

Type Aliases§

LockResult
A type alias for the result of a lock method which can be poisoned.
TryLockResult
A type alias for the result of a nonblocking locking method.