⚠️ VeridianOS Kernel Documentation - This is low-level kernel code. All functions are unsafe unless explicitly marked otherwise. no_std

CondVar

Struct CondVar 

Source
pub struct CondVar { /* private fields */ }
Expand description

Condition variable implementation

Implementations§

Source§

impl CondVar

Source

pub const fn new() -> Self

Create a new condition variable

Source

pub fn wait(&self, mutex: &Mutex) -> Result<(), KernelError>

Wait on condition variable.

Returns Err if the mutex is not held by the caller. The caller must hold the mutex before calling wait, as required by the standard condition variable protocol.

Source

pub fn signal(&self)

Signal one waiting thread

Source

pub fn broadcast(&self)

Signal all waiting threads

Trait Implementations§

Source§

impl Default for CondVar

Available on crate feature alloc only.
Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl !Freeze for CondVar

§

impl !RefUnwindSafe for CondVar

§

impl Send for CondVar

§

impl Sync for CondVar

§

impl Unpin for CondVar

§

impl UnwindSafe for CondVar

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.