Переглянути джерело

Completely remove the CAS loop in mutex.

ticki 8 роки тому
батько
коміт
68caac6f2b
1 змінених файлів з 1 додано та 1 видалено
  1. 1 1
      src/sync.rs

+ 1 - 1
src/sync.rs

@@ -37,7 +37,7 @@ impl<T> Mutex<T> {
     pub fn lock(&self) -> MutexGuard<T> {
         // Lock the mutex.
         #[cfg(not(feature = "unsafe_no_mutex_lock"))]
-        while self.locked.compare_and_swap(false, true, atomic::Ordering::Acquire) {
+        while self.locked.swap(true, atomic::Ordering::Acquire) {
             // ,___,
             // {O,o}
             // |)``)