diff options
author | bunnei <bunneidev@gmail.com> | 2015-02-10 04:05:39 +0100 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2015-02-10 04:05:39 +0100 |
commit | caa58acc840efd6881e7816ad4fdb5d48c17e2e2 (patch) | |
tree | 01b7b35b4988ec8aade9e648d1f96325ab6d8fd6 /src/core/hle | |
parent | Merge pull request #545 from yuriks/patch-1 (diff) | |
download | yuzu-caa58acc840efd6881e7816ad4fdb5d48c17e2e2.tar yuzu-caa58acc840efd6881e7816ad4fdb5d48c17e2e2.tar.gz yuzu-caa58acc840efd6881e7816ad4fdb5d48c17e2e2.tar.bz2 yuzu-caa58acc840efd6881e7816ad4fdb5d48c17e2e2.tar.lz yuzu-caa58acc840efd6881e7816ad4fdb5d48c17e2e2.tar.xz yuzu-caa58acc840efd6881e7816ad4fdb5d48c17e2e2.tar.zst yuzu-caa58acc840efd6881e7816ad4fdb5d48c17e2e2.zip |
Diffstat (limited to 'src/core/hle')
-rw-r--r-- | src/core/hle/svc.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/core/hle/svc.cpp b/src/core/hle/svc.cpp index 34a27917f..c4866fcce 100644 --- a/src/core/hle/svc.cpp +++ b/src/core/hle/svc.cpp @@ -144,6 +144,8 @@ static ResultCode WaitSynchronization1(Handle handle, s64 nano_seconds) { LOG_TRACE(Kernel_SVC, "called handle=0x%08X(%s:%s), nanoseconds=%lld", handle, object->GetTypeName().c_str(), object->GetName().c_str(), nano_seconds); + HLE::Reschedule(__func__); + // Check for next thread to schedule if (object->ShouldWait()) { @@ -153,8 +155,6 @@ static ResultCode WaitSynchronization1(Handle handle, s64 nano_seconds) { // Create an event to wake the thread up after the specified nanosecond delay has passed Kernel::GetCurrentThread()->WakeAfterDelay(nano_seconds); - HLE::Reschedule(__func__); - // NOTE: output of this SVC will be set later depending on how the thread resumes return RESULT_INVALID; } @@ -216,6 +216,8 @@ static ResultCode WaitSynchronizationN(s32* out, Handle* handles, s32 handle_cou } } + HLE::Reschedule(__func__); + // If thread should wait, then set its state to waiting and then reschedule... if (wait_thread) { @@ -229,8 +231,6 @@ static ResultCode WaitSynchronizationN(s32* out, Handle* handles, s32 handle_cou // Create an event to wake the thread up after the specified nanosecond delay has passed Kernel::GetCurrentThread()->WakeAfterDelay(nano_seconds); - HLE::Reschedule(__func__); - // NOTE: output of this SVC will be set later depending on how the thread resumes return RESULT_INVALID; } |