summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2015-01-19 00:01:58 +0100
committerbunnei <bunneidev@gmail.com>2015-01-22 02:47:47 +0100
commitd2759c578e8cf24277767f701d5682f7b1792a9f (patch)
tree2a3d73e2e67aed30782f1a085ad77df45356725e
parentMutex: Fix a bug where the thread should not wait if it already has the mutex. (diff)
downloadyuzu-d2759c578e8cf24277767f701d5682f7b1792a9f.tar
yuzu-d2759c578e8cf24277767f701d5682f7b1792a9f.tar.gz
yuzu-d2759c578e8cf24277767f701d5682f7b1792a9f.tar.bz2
yuzu-d2759c578e8cf24277767f701d5682f7b1792a9f.tar.lz
yuzu-d2759c578e8cf24277767f701d5682f7b1792a9f.tar.xz
yuzu-d2759c578e8cf24277767f701d5682f7b1792a9f.tar.zst
yuzu-d2759c578e8cf24277767f701d5682f7b1792a9f.zip
-rw-r--r--src/core/hle/kernel/kernel.cpp2
-rw-r--r--src/core/hle/svc.cpp1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp
index b3ca78ed6..6f1dced70 100644
--- a/src/core/hle/kernel/kernel.cpp
+++ b/src/core/hle/kernel/kernel.cpp
@@ -35,9 +35,9 @@ Thread* WaitObject::ReleaseNextThread() {
return nullptr;
auto next_thread = waiting_threads.front();
+ waiting_threads.erase(waiting_threads.begin());
next_thread->ReleaseWaitObject(this);
- waiting_threads.erase(waiting_threads.begin());
return next_thread.get();
}
diff --git a/src/core/hle/svc.cpp b/src/core/hle/svc.cpp
index 8df861669..d72839172 100644
--- a/src/core/hle/svc.cpp
+++ b/src/core/hle/svc.cpp
@@ -405,6 +405,7 @@ static Result DuplicateHandle(Handle* out, Handle handle) {
/// Signals an event
static Result SignalEvent(Handle evt) {
LOG_TRACE(Kernel_SVC, "called event=0x%08X", evt);
+ HLE::Reschedule(__func__);
return Kernel::SignalEvent(evt).raw;
}