summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/kernel')
-rw-r--r--src/core/hle/kernel/k_thread.cpp8
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() {
1258 // Change the thread's priority to be higher than any system thread's. 1258 // Change the thread's priority to be higher than any system thread's.
1259 this->IncreaseBasePriority(TerminatingThreadPriority); 1259 this->IncreaseBasePriority(TerminatingThreadPriority);
1260 1260
1261 // If the thread is runnable, send a termination interrupt to other cores. 1261 // If the thread is runnable, send a termination interrupt to cores it may be running on.
1262 if (this->GetState() == ThreadState::Runnable) { 1262 if (this->GetState() == ThreadState::Runnable) {
1263 if (const u64 core_mask = m_physical_affinity_mask.GetAffinityMask() & 1263 // NOTE: We do not mask the "current core", because this code may not actually be
1264 ~(1ULL << GetCurrentCoreId(m_kernel)); 1264 // executing from the thread representing the "current core".
1265 core_mask != 0) { 1265 if (const u64 core_mask = m_physical_affinity_mask.GetAffinityMask(); core_mask != 0) {
1266 Kernel::KInterruptManager::SendInterProcessorInterrupt(m_kernel, core_mask); 1266 Kernel::KInterruptManager::SendInterProcessorInterrupt(m_kernel, core_mask);
1267 } 1267 }
1268 } 1268 }