Lines Matching refs:guard
55 let guard = unprotected(); in new() localVariable
56 let sentinel = sentinel.into_shared(guard); in new()
70 guard: &Guard, in push_internal()
74 let next = o.next.load(Acquire, guard); in push_internal()
79 .compare_exchange(onto, next, Release, Relaxed, guard); in push_internal()
85 .compare_exchange(Shared::null(), new, Release, Relaxed, guard) in push_internal()
91 .compare_exchange(onto, new, Release, Relaxed, guard); in push_internal()
98 pub(crate) fn push(&self, t: T, guard: &Guard) { in push()
103 let new = Owned::into_shared(new, guard); in push()
107 let tail = self.tail.load(Acquire, guard); in push()
110 if self.push_internal(tail, new, guard) { in push()
118 fn pop_internal(&self, guard: &Guard) -> Result<Option<T>, ()> { in pop_internal()
119 let head = self.head.load(Acquire, guard); in pop_internal()
121 let next = h.next.load(Acquire, guard); in pop_internal()
125 .compare_exchange(head, next, Release, Relaxed, guard) in pop_internal()
127 let tail = self.tail.load(Relaxed, guard); in pop_internal()
132 .compare_exchange(tail, next, Release, Relaxed, guard); in pop_internal()
134 guard.defer_destroy(head); in pop_internal()
147 fn pop_if_internal<F>(&self, condition: F, guard: &Guard) -> Result<Option<T>, ()> in pop_if_internal()
152 let head = self.head.load(Acquire, guard); in pop_if_internal()
154 let next = h.next.load(Acquire, guard); in pop_if_internal()
158 .compare_exchange(head, next, Release, Relaxed, guard) in pop_if_internal()
160 let tail = self.tail.load(Relaxed, guard); in pop_if_internal()
165 .compare_exchange(tail, next, Release, Relaxed, guard); in pop_if_internal()
167 guard.defer_destroy(head); in pop_if_internal()
179 pub(crate) fn try_pop(&self, guard: &Guard) -> Option<T> { in try_pop()
181 if let Ok(head) = self.pop_internal(guard) { in try_pop()
191 pub(crate) fn try_pop_if<F>(&self, condition: F, guard: &Guard) -> Option<T> in try_pop_if()
197 if let Ok(head) = self.pop_if_internal(&condition, guard) { in try_pop_if()
207 let guard = unprotected(); in drop() localVariable
209 while self.try_pop(guard).is_some() {} in drop()
212 let sentinel = self.head.load(Relaxed, guard); in drop()
236 let guard = &pin(); in push() localVariable
237 self.queue.push(t, guard); in push()
241 let guard = &pin(); in is_empty() localVariable
242 let head = self.queue.head.load(Acquire, guard); in is_empty()
244 h.next.load(Acquire, guard).is_null() in is_empty()
248 let guard = &pin(); in try_pop() localVariable
249 self.queue.try_pop(guard) in try_pop()