diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2018-04-19 00:00:29 -0300 |
|---|---|---|
| committer | gdkchan <gab.dark.100@gmail.com> | 2018-04-19 00:00:29 -0300 |
| commit | ac80e7d3f90496d5f16f53afed888cd854fe6975 (patch) | |
| tree | d3837a318c478544a6e789e82145ed59b6589fb7 | |
| parent | b9af34f3dd1e7f5e38b038f182c9fd4a791fdfea (diff) | |
[HLE/Kernel] Yield when cond var is signaled
| -rw-r--r-- | Ryujinx.Core/OsHle/Kernel/ConditionVariable.cs | 2 | ||||
| -rw-r--r-- | Ryujinx.Core/OsHle/Kernel/SvcHandler.cs | 2 |
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; |
