فهرست منبع

[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;