aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2018-04-19 00:00:29 -0300
committergdkchan <gab.dark.100@gmail.com>2018-04-19 00:00:29 -0300
commitac80e7d3f90496d5f16f53afed888cd854fe6975 (patch)
treed3837a318c478544a6e789e82145ed59b6589fb7
parentb9af34f3dd1e7f5e38b038f182c9fd4a791fdfea (diff)
[HLE/Kernel] Yield when cond var is signaled
-rw-r--r--Ryujinx.Core/OsHle/Kernel/ConditionVariable.cs2
-rw-r--r--Ryujinx.Core/OsHle/Kernel/SvcHandler.cs2
2 files changed, 3 insertions, 1 deletions
diff --git a/Ryujinx.Core/OsHle/Kernel/ConditionVariable.cs b/Ryujinx.Core/OsHle/Kernel/ConditionVariable.cs
index 34d5820b..4e64a154 100644
--- a/Ryujinx.Core/OsHle/Kernel/ConditionVariable.cs
+++ b/Ryujinx.Core/OsHle/Kernel/ConditionVariable.cs
@@ -111,6 +111,8 @@ namespace Ryujinx.Core.OsHle.Kernel
}
}
}
+
+ Process.Scheduler.Yield(Thread);
}
private void AcquireCondVarValue()
diff --git a/Ryujinx.Core/OsHle/Kernel/SvcHandler.cs b/Ryujinx.Core/OsHle/Kernel/SvcHandler.cs
index 4d93ef29..fa772988 100644
--- a/Ryujinx.Core/OsHle/Kernel/SvcHandler.cs
+++ b/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;