diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2018-03-04 20:32:18 -0300 |
|---|---|---|
| committer | gdkchan <gab.dark.100@gmail.com> | 2018-03-04 20:32:18 -0300 |
| commit | 344fc8a55de471121d3f600cca9e95315d0e502f (patch) | |
| tree | 60f13e524c071d4c7592022674868aa7b216b9bd /Ryujinx.Core/OsHle/CondVar.cs | |
| parent | 3edb66f389ac279bdcde26c5682aa39b9bf5f853 (diff) | |
Try fixing NvFlinger rotation with scaling, return correct error code on WaitSignal timeout, always display window at the center of the screen
Diffstat (limited to 'Ryujinx.Core/OsHle/CondVar.cs')
| -rw-r--r-- | Ryujinx.Core/OsHle/CondVar.cs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Ryujinx.Core/OsHle/CondVar.cs b/Ryujinx.Core/OsHle/CondVar.cs index 7b3e1852..ac3ba574 100644 --- a/Ryujinx.Core/OsHle/CondVar.cs +++ b/Ryujinx.Core/OsHle/CondVar.cs @@ -24,7 +24,7 @@ namespace Ryujinx.Core.OsHle WaitingThreads = new List<HThread>(); } - public void WaitForSignal(HThread Thread) + public bool WaitForSignal(HThread Thread) { int Count = Process.Memory.ReadInt32(CondVarAddress); @@ -41,12 +41,14 @@ namespace Ryujinx.Core.OsHle } else { - Process.Scheduler.WaitForSignal(Thread, (int)(Timeout / 1000000)); + bool Result = Process.Scheduler.WaitForSignal(Thread, (int)(Timeout / 1000000)); lock (WaitingThreads) { WaitingThreads.Remove(Thread); } + + return Result; } } @@ -60,6 +62,8 @@ namespace Ryujinx.Core.OsHle } ReleaseCondVarValue(); + + return true; } public void SetSignal(HThread Thread, int Count) |
