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)pull/1495/head
parent
1584fb6b38
commit
92fae7e1ab
|
|
@ -389,6 +389,12 @@ static void Break(u32 reason, u64 info1, u64 info2) {
|
||||||
"Emulated program broke execution! reason=0x{:016X}, info1=0x{:016X}, info2=0x{:016X}",
|
"Emulated program broke execution! reason=0x{:016X}, info1=0x{:016X}, info2=0x{:016X}",
|
||||||
reason, info1, info2);
|
reason, info1, info2);
|
||||||
ASSERT(false);
|
ASSERT(false);
|
||||||
|
|
||||||
|
Core::CurrentProcess()->PrepareForTermination();
|
||||||
|
|
||||||
|
// Kill the current thread
|
||||||
|
GetCurrentThread()->Stop();
|
||||||
|
Core::System::GetInstance().PrepareReschedule();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue