Struct std::sync::StaticCondvar [] [src]

pub struct StaticCondvar {
    // some fields omitted
}
Unstable (static_condvar #27717)

: 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)] fn main() { use std::sync::{StaticCondvar, CONDVAR_INIT}; static CVAR: StaticCondvar = CONDVAR_INIT; }
#![feature(static_condvar)]

use std::sync::{StaticCondvar, CONDVAR_INIT};

static CVAR: StaticCondvar = CONDVAR_INIT;

Methods

impl StaticCondvar

const fn new() -> StaticCondvar

Unstable (static_condvar #27717)

: may be merged with Condvar in the future

Creates a new condition variable

fn wait<'a, T>(&'static self, guard: MutexGuard<'a, T>) -> LockResult<MutexGuard<'a, T>>

Unstable (static_condvar #27717)

: 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<'a, T>(&'static self, guard: MutexGuard<'a, T>, ms: u32) -> LockResult<(MutexGuard<'a, T>, bool)>

Deprecated since 1.6.0

: 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<'a, T>(&'static self, guard: MutexGuard<'a, T>, timeout: Duration) -> LockResult<(MutexGuard<'a, T>, WaitTimeoutResult)>

Unstable (static_condvar #27717)

: 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<'a, T, F>(&'static self, guard: MutexGuard<'a, T>, dur: Duration, f: F) -> LockResult<(MutexGuard<'a, T>, WaitTimeoutResult)> where F: FnMut(LockResult<&mut T>) -> bool

Unstable (static_condvar #27717)

: 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)

Unstable (static_condvar #27717)

: 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)

Unstable (static_condvar #27717)

: 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)

Unstable (static_condvar #27717)

: 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.