Explorar o código

Make semaphore always sched_yield

Jeremy Soller %!s(int64=2) %!d(string=hai) anos
pai
achega
e7b6252bd3
Modificáronse 1 ficheiros con 2 adicións e 1 borrados
  1. 2 1
      src/sync/semaphore.rs

+ 2 - 1
src/sync/semaphore.rs

@@ -29,7 +29,8 @@ impl Semaphore {
         }
         loop {
             while self.lock.load(Ordering::Acquire) < 1 {
-                spin_loop();
+                //spin_loop();
+                Sys::sched_yield();
             }
             let tmp = self.lock.fetch_sub(1, Ordering::AcqRel);
             if tmp >= 1 {