summaryrefslogtreecommitdiffstats
path: root/src/core/hle/svc.cpp
diff options
context:
space:
mode:
authorbunnei <ericbunnie@gmail.com>2014-06-02 03:42:50 +0200
committerbunnei <ericbunnie@gmail.com>2014-06-02 03:42:50 +0200
commit10447d1f4831b495d7bef7711681ddd548f847a6 (patch)
tree7315bc1d8addcab21bd3e532f806811682c4eb01 /src/core/hle/svc.cpp
parentarm: added option to prepare CPU core (while mid-instruction) for thread reschedule (diff)
downloadyuzu-10447d1f4831b495d7bef7711681ddd548f847a6.tar
yuzu-10447d1f4831b495d7bef7711681ddd548f847a6.tar.gz
yuzu-10447d1f4831b495d7bef7711681ddd548f847a6.tar.bz2
yuzu-10447d1f4831b495d7bef7711681ddd548f847a6.tar.lz
yuzu-10447d1f4831b495d7bef7711681ddd548f847a6.tar.xz
yuzu-10447d1f4831b495d7bef7711681ddd548f847a6.tar.zst
yuzu-10447d1f4831b495d7bef7711681ddd548f847a6.zip
Diffstat (limited to 'src/core/hle/svc.cpp')
-rw-r--r--src/core/hle/svc.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/core/hle/svc.cpp b/src/core/hle/svc.cpp
index 11b77e2c5..0c2412a65 100644
--- a/src/core/hle/svc.cpp
+++ b/src/core/hle/svc.cpp
@@ -125,8 +125,11 @@ Result WaitSynchronization1(Handle handle, s64 nano_seconds) {
Result res = object->WaitSynchronization(&wait);
if (wait) {
+ // Set current thread to wait state if handle was not unlocked
Kernel::WaitCurrentThread(WAITTYPE_SYNCH); // TODO(bunnei): Is this correct?
- Kernel::Reschedule();
+
+ // Check for next thread to schedule
+ HLE::Reschedule(__func__);
// Context switch - Function blocked, is not actually returning (will be "called" again)
@@ -178,7 +181,9 @@ Result WaitSynchronizationN(void* _out, void* _handles, u32 handle_count, u32 wa
// Set current thread to wait state if not all handles were unlocked
Kernel::WaitCurrentThread(WAITTYPE_SYNCH); // TODO(bunnei): Is this correct?
- Kernel::Reschedule();
+
+ // Check for next thread to schedule
+ HLE::Reschedule(__func__);
// Context switch - Function blocked, is not actually returning (will be "called" again)