diff --git a/stratosphere/creport/creport.json b/stratosphere/creport/creport.json index 17abd0fed..609147d2e 100644 --- a/stratosphere/creport/creport.json +++ b/stratosphere/creport/creport.json @@ -23,6 +23,7 @@ "erpt:c", "fatal:u", "ns:dev", + "pgl", "time:*", "fsp-srv" ], diff --git a/stratosphere/creport/source/creport_main.cpp b/stratosphere/creport/source/creport_main.cpp index a5743fedc..af8e8f84e 100644 --- a/stratosphere/creport/source/creport_main.cpp +++ b/stratosphere/creport/source/creport_main.cpp @@ -108,7 +108,14 @@ int main(int argc, char **argv) { g_crash_report.SaveReport(); /* Try to terminate the process. */ - { + if (hos::GetVersion() >= hos::Version_10_0_0) { + /* On 10.0.0+, use pgl to terminate. */ + sm::ScopedServiceHolder pgl_holder; + if (pgl_holder) { + pglTerminateProcess(static_cast(crashed_pid)); + } + } else { + /* On < 10.0.0, use ns:dev to terminate. */ sm::ScopedServiceHolder ns_holder; if (ns_holder) { nsdevTerminateProcess(static_cast(crashed_pid));