Lines Matching +full:wake +full:- +full:up
1 // SPDX-License-Identifier: GPL-2.0
21 /// Creates a [`CondVar`] initialiser with the given name and a newly-created lock class.
33 /// atomically release the given lock and go to sleep. It reacquires the lock when it wakes up. And
34 /// it wakes up when notified by another thread (via [`CondVar::notify_one`] or
35 /// [`CondVar::notify_all`]) or because the thread received a signal. It may also wake up
72 /// fn new_example() -> Result<Pin<KBox<Example>>> {
74 /// value <- new_mutex!(0),
75 /// value_changed <- new_condvar!(),
87 /// self-referential, so it cannot be safely moved once it is initialised.
103 pub fn new(name: &'static CStr, key: Pin<&'static LockClassKey>) -> impl PinInit<Self> {
108 wait_queue_head <- Opaque::ffi_init(|slot| unsafe {
119 ) -> c_long {
142 /// thread to sleep, reacquiring the lock on wake up. It wakes up when notified by
143 /// [`CondVar::notify_one`] or [`CondVar::notify_all`]. Note that it may also wake up
152 /// wake up due to signals. It may also wake up spuriously.
156 pub fn wait_interruptible<T: ?Sized, B: Backend>(&self, guard: &mut Guard<'_, T, B>) -> bool {
171 ) -> bool {
183 /// thread to sleep. It wakes up when notified by [`CondVar::notify_one`] or
190 ) -> CondVarTimeoutResult {
224 /// Wakes a single waiter up, if any.
227 /// completely (as opposed to automatically waking up the next waiter).
232 /// Wakes all waiters up, if any.
235 /// completely (as opposed to automatically waking up the next waiter).
245 /// Somebody woke us up.