diff options
author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2020-02-25 21:38:33 +0100 |
---|---|---|
committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2020-06-27 17:35:13 +0200 |
commit | 3b5b950c895a2db217a3e5c8105cec4498a2534e (patch) | |
tree | 2a8e054af30c9aa8039f8faa4b993e2290642184 /src/core/hle/kernel/thread.cpp | |
parent | SVC: Remove global HLE Lock. (diff) | |
download | yuzu-3b5b950c895a2db217a3e5c8105cec4498a2534e.tar yuzu-3b5b950c895a2db217a3e5c8105cec4498a2534e.tar.gz yuzu-3b5b950c895a2db217a3e5c8105cec4498a2534e.tar.bz2 yuzu-3b5b950c895a2db217a3e5c8105cec4498a2534e.tar.lz yuzu-3b5b950c895a2db217a3e5c8105cec4498a2534e.tar.xz yuzu-3b5b950c895a2db217a3e5c8105cec4498a2534e.tar.zst yuzu-3b5b950c895a2db217a3e5c8105cec4498a2534e.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/hle/kernel/thread.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp index e6bb7c666..5fef3945b 100644 --- a/src/core/hle/kernel/thread.cpp +++ b/src/core/hle/kernel/thread.cpp @@ -139,12 +139,13 @@ ResultCode Thread::Start() { } void Thread::CancelWait() { + SchedulerLock lock(kernel); if (GetSchedulingStatus() != ThreadSchedStatus::Paused) { is_sync_cancelled = true; return; } is_sync_cancelled = false; - SetWaitSynchronizationResult(ERR_SYNCHRONIZATION_CANCELED); + SetSynchronizationResults(nullptr, ERR_SYNCHRONIZATION_CANCELED); ResumeFromWait(); } @@ -258,13 +259,16 @@ void Thread::SetPriority(u32 priority) { } void Thread::SetWaitSynchronizationResult(ResultCode result) { - context_32.cpu_registers[0] = result.raw; - context_64.cpu_registers[0] = result.raw; + UNREACHABLE(); } void Thread::SetWaitSynchronizationOutput(s32 output) { - context_32.cpu_registers[1] = output; - context_64.cpu_registers[1] = output; + UNREACHABLE(); +} + +void Thread::SetSynchronizationResults(SynchronizationObject* object, ResultCode result) { + signaling_object = object; + signaling_result = result; } s32 Thread::GetSynchronizationObjectIndex(std::shared_ptr<SynchronizationObject> object) const { |