Struct bitflags::__core::sync::StaticCondvar
[−]
[src]
pub struct StaticCondvar { // some fields omitted }
static_condvar
): may be merged with Condvar in the future
Statically allocated condition variables.
This structure is identical to Condvar
except that it is suitable for use
in static initializers for other structures.
Examples
#![feature(static_condvar)] use std::sync::{StaticCondvar, CONDVAR_INIT}; static CVAR: StaticCondvar = CONDVAR_INIT;
Methods
impl StaticCondvar
fn new() -> StaticCondvar
static_condvar
): may be merged with Condvar in the future
Creates a new condition variable
fn wait<T>(&'static self, guard: MutexGuard<'a, T>) -> Result<MutexGuard<'a, T>, PoisonError<MutexGuard<'a, T>>>
static_condvar
): may be merged with Condvar in the future
Blocks the current thread until this condition variable receives a notification.
See Condvar::wait
.
fn wait_timeout_ms<T>(&'static self, guard: MutexGuard<'a, T>, ms: u32) -> Result<(MutexGuard<'a, T>, bool), PoisonError<(MutexGuard<'a, T>, bool)>>
: replaced by std::sync::StaticCondvar::wait_timeout
Waits on this condition variable for a notification, timing out after a specified duration.
See Condvar::wait_timeout
.
fn wait_timeout<T>(&'static self, guard: MutexGuard<'a, T>, timeout: Duration) -> Result<(MutexGuard<'a, T>, WaitTimeoutResult), PoisonError<(MutexGuard<'a, T>, WaitTimeoutResult)>>
static_condvar
): may be merged with Condvar in the future
Waits on this condition variable for a notification, timing out after a specified duration.
See Condvar::wait_timeout
.
fn wait_timeout_with<T, F>(&'static self, guard: MutexGuard<'a, T>, dur: Duration, f: F) -> Result<(MutexGuard<'a, T>, WaitTimeoutResult), PoisonError<(MutexGuard<'a, T>, WaitTimeoutResult)>> where F: FnMut(Result<&mut T, PoisonError<&mut T>>) -> bool
static_condvar
): may be merged with Condvar in the future
Waits on this condition variable for a notification, timing out after a specified duration.
The implementation will repeatedly wait while the duration has not
passed and the function returns false
.
See Condvar::wait_timeout_with
.
fn notify_one(&'static self)
static_condvar
): may be merged with Condvar in the future
Wakes up one blocked thread on this condvar.
See Condvar::notify_one
.
fn notify_all(&'static self)
static_condvar
): may be merged with Condvar in the future
Wakes up all blocked threads on this condvar.
See Condvar::notify_all
.
unsafe fn destroy(&'static self)
static_condvar
): may be merged with Condvar in the future
Deallocates all resources associated with this static condvar.
This method is unsafe to call as there is no guarantee that there are no active users of the condvar, and this also doesn't prevent any future users of the condvar. This method is required to be called to not leak memory on all platforms.