Lines Matching full:guard
8 use super::{lock::Backend, lock::Guard, LockClassKey};
59 /// let mut guard = e.value.lock();
60 /// while *guard != v {
61 /// e.value_changed.wait(&mut guard);
117 guard: &mut Guard<'_, T, B>, in wait_internal()
131 let ret = guard.do_unlocked(|| unsafe { bindings::schedule_timeout(timeout_in_jiffies) }); in wait_internal()
141 /// Atomically releases the given lock (whose ownership is proven by the guard) and puts the
145 pub fn wait<T: ?Sized, B: Backend>(&self, guard: &mut Guard<'_, T, B>) { in wait()
146 self.wait_internal(TASK_UNINTERRUPTIBLE, guard, MAX_SCHEDULE_TIMEOUT); in wait()
156 pub fn wait_interruptible<T: ?Sized, B: Backend>(&self, guard: &mut Guard<'_, T, B>) -> bool { in wait_interruptible()
157 self.wait_internal(TASK_INTERRUPTIBLE, guard, MAX_SCHEDULE_TIMEOUT); in wait_interruptible()
170 guard: &mut Guard<'_, T, B>, in wait_interruptible_freezable()
174 guard, in wait_interruptible_freezable()
182 /// Atomically releases the given lock (whose ownership is proven by the guard) and puts the
188 guard: &mut Guard<'_, T, B>, in wait_interruptible_timeout()
192 let res = self.wait_internal(TASK_INTERRUPTIBLE, guard, jiffies); in wait_interruptible_timeout()