summaryrefslogtreecommitdiffstats
path: root/src/core/hle/svc.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2015-02-10 04:05:39 +0100
committerbunnei <bunneidev@gmail.com>2015-02-10 04:05:39 +0100
commitcaa58acc840efd6881e7816ad4fdb5d48c17e2e2 (patch)
tree01b7b35b4988ec8aade9e648d1f96325ab6d8fd6 /src/core/hle/svc.cpp
parentMerge pull request #545 from yuriks/patch-1 (diff)
downloadyuzu-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/svc.cpp')
-rw-r--r--src/core/hle/svc.cpp8
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;
}