瀏覽代碼

[HLE/Kernel] Yield when cond var is signaled

gdkchan 8 年之前
父節點
當前提交
ac80e7d3f9
共有 2 個文件被更改,包括 3 次插入1 次删除
  1. 2 0
      Ryujinx.Core/OsHle/Kernel/ConditionVariable.cs
  2. 1 1
      Ryujinx.Core/OsHle/Kernel/SvcHandler.cs

+ 2 - 0
Ryujinx.Core/OsHle/Kernel/ConditionVariable.cs

@@ -111,6 +111,8 @@ namespace Ryujinx.Core.OsHle.Kernel
                     }
                 }
             }
+
+            Process.Scheduler.Yield(Thread);
         }
 
         private void AcquireCondVarValue()

+ 1 - 1
Ryujinx.Core/OsHle/Kernel/SvcHandler.cs

@@ -18,7 +18,7 @@ namespace Ryujinx.Core.OsHle.Kernel
         private Process Process;
         private AMemory Memory;
 
-        private ConcurrentDictionary<long, MutualExclusion>     Mutexes;
+        private ConcurrentDictionary<long, MutualExclusion>   Mutexes;
         private ConcurrentDictionary<long, ConditionVariable> CondVars;
 
         private HashSet<(HSharedMem, long)> MappedSharedMems;