diff options
author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2019-10-12 13:57:32 +0200 |
---|---|---|
committer | FernandoS27 <fsahmkow27@gmail.com> | 2019-10-15 17:55:22 +0200 |
commit | 0b72b34d89d8e3dd06fadfded728f7202bc34741 (patch) | |
tree | d834a6b0c899ad7f34e4abcd55aaa797cf9cb877 | |
parent | Kernel: Correct Paused scheduling (diff) | |
download | yuzu-0b72b34d89d8e3dd06fadfded728f7202bc34741.tar yuzu-0b72b34d89d8e3dd06fadfded728f7202bc34741.tar.gz yuzu-0b72b34d89d8e3dd06fadfded728f7202bc34741.tar.bz2 yuzu-0b72b34d89d8e3dd06fadfded728f7202bc34741.tar.lz yuzu-0b72b34d89d8e3dd06fadfded728f7202bc34741.tar.xz yuzu-0b72b34d89d8e3dd06fadfded728f7202bc34741.tar.zst yuzu-0b72b34d89d8e3dd06fadfded728f7202bc34741.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/hle/kernel/svc.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index 101f72b7d..151acf33a 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp @@ -1608,6 +1608,8 @@ static ResultCode WaitProcessWideKeyAtomic(Core::System& system, VAddr mutex_add return ERR_INVALID_ADDRESS; } + ASSERT(condition_variable_addr == Common::AlignDown(condition_variable_addr, 4)); + auto* const current_process = system.Kernel().CurrentProcess(); const auto& handle_table = current_process->GetHandleTable(); SharedPtr<Thread> thread = handle_table.Get<Thread>(thread_handle); @@ -1639,6 +1641,8 @@ static ResultCode SignalProcessWideKey(Core::System& system, VAddr condition_var LOG_TRACE(Kernel_SVC, "called, condition_variable_addr=0x{:X}, target=0x{:08X}", condition_variable_addr, target); + ASSERT(condition_variable_addr == Common::AlignDown(condition_variable_addr, 4)); + // Retrieve a list of all threads that are waiting for this condition variable. std::vector<SharedPtr<Thread>> waiting_threads; const auto& scheduler = system.GlobalScheduler(); |