diff options
author | Merry <git@mary.rs> | 2024-01-02 22:13:04 +0100 |
---|---|---|
committer | Merry <git@mary.rs> | 2024-01-02 22:34:34 +0100 |
commit | 0f7fc9411129c110ef751d18f80e02f18b63c201 (patch) | |
tree | cc793ffa918fddb241b8dd9d20a06debaaae87c9 | |
parent | Merge pull request #12554 from german77/directconnect (diff) | |
download | yuzu-0f7fc9411129c110ef751d18f80e02f18b63c201.tar yuzu-0f7fc9411129c110ef751d18f80e02f18b63c201.tar.gz yuzu-0f7fc9411129c110ef751d18f80e02f18b63c201.tar.bz2 yuzu-0f7fc9411129c110ef751d18f80e02f18b63c201.tar.lz yuzu-0f7fc9411129c110ef751d18f80e02f18b63c201.tar.xz yuzu-0f7fc9411129c110ef751d18f80e02f18b63c201.tar.zst yuzu-0f7fc9411129c110ef751d18f80e02f18b63c201.zip |
-rw-r--r-- | src/core/hle/kernel/k_thread.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/core/hle/kernel/k_thread.cpp b/src/core/hle/kernel/k_thread.cpp index 24394d222..7d3421929 100644 --- a/src/core/hle/kernel/k_thread.cpp +++ b/src/core/hle/kernel/k_thread.cpp @@ -1258,11 +1258,11 @@ ThreadState KThread::RequestTerminate() { // Change the thread's priority to be higher than any system thread's. this->IncreaseBasePriority(TerminatingThreadPriority); - // If the thread is runnable, send a termination interrupt to other cores. + // If the thread is runnable, send a termination interrupt to cores it may be running on. if (this->GetState() == ThreadState::Runnable) { - if (const u64 core_mask = m_physical_affinity_mask.GetAffinityMask() & - ~(1ULL << GetCurrentCoreId(m_kernel)); - core_mask != 0) { + // NOTE: We do not mask the "current core", because this code may not actually be + // executing from the thread representing the "current core". + if (const u64 core_mask = m_physical_affinity_mask.GetAffinityMask(); core_mask != 0) { Kernel::KInterruptManager::SendInterProcessorInterrupt(m_kernel, core_mask); } } |