瀏覽代碼

Make semaphore always sched_yield

Jeremy Soller 2 年之前
父節點
當前提交
e7b6252bd3
共有 1 個文件被更改,包括 2 次插入1 次删除
  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 {