summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/thread.cpp
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2020-02-26 00:43:28 +0100
committerFernando Sahmkow <fsahmkow27@gmail.com>2020-06-27 17:35:14 +0200
commit15a79eb0d7abe752a9a55d0cfa7ea220e17318b7 (patch)
tree863357ab4be1ff9a72804c40455d6a4c4c493acd /src/core/hle/kernel/thread.cpp
parentSVC: Correct ArbitrateUnlock (diff)
downloadyuzu-15a79eb0d7abe752a9a55d0cfa7ea220e17318b7.tar
yuzu-15a79eb0d7abe752a9a55d0cfa7ea220e17318b7.tar.gz
yuzu-15a79eb0d7abe752a9a55d0cfa7ea220e17318b7.tar.bz2
yuzu-15a79eb0d7abe752a9a55d0cfa7ea220e17318b7.tar.lz
yuzu-15a79eb0d7abe752a9a55d0cfa7ea220e17318b7.tar.xz
yuzu-15a79eb0d7abe752a9a55d0cfa7ea220e17318b7.tar.zst
yuzu-15a79eb0d7abe752a9a55d0cfa7ea220e17318b7.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/kernel/thread.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp
index f100ffc70..fb97535a3 100644
--- a/src/core/hle/kernel/thread.cpp
+++ b/src/core/hle/kernel/thread.cpp
@@ -96,7 +96,7 @@ void Thread::ResumeFromWait() {
case ThreadStatus::Ready:
// The thread's wakeup callback must have already been cleared when the thread was first
// awoken.
- ASSERT(wakeup_callback == nullptr);
+ ASSERT(hle_callback == nullptr);
// If the thread is waiting on multiple wait objects, it might be awoken more than once
// before actually resuming. We can ignore subsequent wakeups if the thread status has
// already been set to ThreadStatus::Ready.
@@ -112,7 +112,7 @@ void Thread::ResumeFromWait() {
return;
}
- wakeup_callback = nullptr;
+ hle_callback = nullptr;
if (activity == ThreadActivity::Paused) {
SetStatus(ThreadStatus::Paused);
@@ -398,8 +398,14 @@ bool Thread::AllSynchronizationObjectsReady() const {
bool Thread::InvokeWakeupCallback(ThreadWakeupReason reason, std::shared_ptr<Thread> thread,
std::shared_ptr<SynchronizationObject> object,
std::size_t index) {
- ASSERT(wakeup_callback);
- return wakeup_callback(reason, std::move(thread), std::move(object), index);
+ ASSERT(hle_callback);
+ return hle_callback(reason, std::move(thread), std::move(object), index);
+}
+
+bool Thread::InvokeHLECallback(ThreadWakeupReason reason, std::shared_ptr<Thread> thread,
+ std::shared_ptr<SynchronizationObject> object, std::size_t index) {
+ ASSERT(hle_callback);
+ return hle_callback(reason, std::move(thread), std::move(object), index);
}
void Thread::SetActivity(ThreadActivity value) {