summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar David Marcec2018-10-14 18:14:51 +1100
committerGravatar David Marcec2018-10-14 18:14:51 +1100
commit92fae7e1abcf4c44a3c4abdabdd9b8586560a30c (patch)
tree6eff3c5a144552e44da2750a0c04f0b002cd6889 /src
parentMerge pull request #1409 from DarkLordZach/key-derivation (diff)
downloadyuzu-92fae7e1abcf4c44a3c4abdabdd9b8586560a30c.tar.gz
yuzu-92fae7e1abcf4c44a3c4abdabdd9b8586560a30c.tar.xz
yuzu-92fae7e1abcf4c44a3c4abdabdd9b8586560a30c.zip
Stop all threads on svcBreak
This should help diagnose crashes easier and prevent many users thinking that a game is still running when in fact it's just an audio thread still running(this is typically not killed when svcBreak is hit since the game expects us to do this)
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/kernel/svc.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp
index e406df829..198865fd0 100644
--- a/src/core/hle/kernel/svc.cpp
+++ b/src/core/hle/kernel/svc.cpp
@@ -389,6 +389,12 @@ static void Break(u32 reason, u64 info1, u64 info2) {
389 "Emulated program broke execution! reason=0x{:016X}, info1=0x{:016X}, info2=0x{:016X}", 389 "Emulated program broke execution! reason=0x{:016X}, info1=0x{:016X}, info2=0x{:016X}",
390 reason, info1, info2); 390 reason, info1, info2);
391 ASSERT(false); 391 ASSERT(false);
392
393 Core::CurrentProcess()->PrepareForTermination();
394
395 // Kill the current thread
396 GetCurrentThread()->Stop();
397 Core::System::GetInstance().PrepareReschedule();
392 } 398 }
393} 399}
394 400