summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/thread.cpp
diff options
context:
space:
mode:
authorGravatar Michael Scire2018-06-21 01:40:29 -0600
committerGravatar Michael Scire2018-06-21 01:40:29 -0600
commit9d71ce88cee58d2e171ec5ed82daf075112fb422 (patch)
tree3e8dfaf638c2e63124295d2c8ed1b20c6060c847 /src/core/hle/kernel/thread.cpp
parentKernel/Arbiters: Add stubs for 4.x SignalToAddress/WaitForAddres SVCs. (diff)
downloadyuzu-9d71ce88cee58d2e171ec5ed82daf075112fb422.tar.gz
yuzu-9d71ce88cee58d2e171ec5ed82daf075112fb422.tar.xz
yuzu-9d71ce88cee58d2e171ec5ed82daf075112fb422.zip
Kernel/Arbiters: Implement WaitForAddress
Diffstat (limited to 'src/core/hle/kernel/thread.cpp')
-rw-r--r--src/core/hle/kernel/thread.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp
index cffa7ca83..2f333ec34 100644
--- a/src/core/hle/kernel/thread.cpp
+++ b/src/core/hle/kernel/thread.cpp
@@ -140,6 +140,11 @@ static void ThreadWakeupCallback(u64 thread_handle, int cycles_late) {
140 } 140 }
141 } 141 }
142 142
143 if (thread->arb_wait_address != 0) {
144 ASSERT(thread->status == THREADSTATUS_WAIT_ARB);
145 thread->arb_wait_address = 0;
146 }
147
143 if (resume) 148 if (resume)
144 thread->ResumeFromWait(); 149 thread->ResumeFromWait();
145} 150}
@@ -179,6 +184,7 @@ void Thread::ResumeFromWait() {
179 case THREADSTATUS_WAIT_SLEEP: 184 case THREADSTATUS_WAIT_SLEEP:
180 case THREADSTATUS_WAIT_IPC: 185 case THREADSTATUS_WAIT_IPC:
181 case THREADSTATUS_WAIT_MUTEX: 186 case THREADSTATUS_WAIT_MUTEX:
187 case THREADSTATUS_WAIT_ARB:
182 break; 188 break;
183 189
184 case THREADSTATUS_READY: 190 case THREADSTATUS_READY: