Lines Matching refs:lock
23 //! by a lock to ensure atomicity. However, we could not use the regular
24 //! [`std::sync::RwLock`] because this lock is not async-signal-safe.
101 let guard = self.write_lock.lock().unwrap();
105 lock: self,
139 lock: &'a SpinningRwLock<T>,
151 self.lock.data[new_version].store(val_ptr, Ordering::SeqCst);
152 self.lock.version.store(new_version, Ordering::SeqCst);
154 let old_data = self.lock.data[old_version].swap(null_mut(), Ordering::SeqCst);
155 self.lock.wait_version_release(old_version);
170 let data = self.lock.data[self.version].load(Ordering::SeqCst);