diff options
| author | 2018-10-14 18:14:51 +1100 | |
|---|---|---|
| committer | 2018-10-14 18:14:51 +1100 | |
| commit | 92fae7e1abcf4c44a3c4abdabdd9b8586560a30c (patch) | |
| tree | 6eff3c5a144552e44da2750a0c04f0b002cd6889 | |
| parent | Merge pull request #1409 from DarkLordZach/key-derivation (diff) | |
| download | yuzu-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)
| -rw-r--r-- | src/core/hle/kernel/svc.cpp | 6 |
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 | ||