aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/svc.cpp
diff options
context:
space:
mode:
authorNikita Strygin <nikita6@bk.ru>2022-06-16 21:35:34 +0300
committerNikita Strygin <nikita6@bk.ru>2022-06-16 21:35:34 +0300
commit5f5739ea2c782b02b8a17a8296e22d0edaf74fa9 (patch)
tree8b1f2d43024d32990d41ffe5a429a302bf9af66b /src/core/hle/kernel/svc.cpp
parent1d8e860c47a2bd9944443d9f4d717f6f19eaf72d (diff)
Implement ExitProcess svc
Currently this just stops all the emulation This works under assumption that only application will try to use ExitProcess, with services not touching it If application exits - it quite makes sense to end the emulation
Diffstat (limited to 'src/core/hle/kernel/svc.cpp')
-rw-r--r--src/core/hle/kernel/svc.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp
index 47db0bacf5..2ff6d5fa6d 100644
--- a/src/core/hle/kernel/svc.cpp
+++ b/src/core/hle/kernel/svc.cpp
@@ -1726,11 +1726,12 @@ static ResultCode UnmapProcessCodeMemory(Core::System& system, Handle process_ha
/// Exits the current process
static void ExitProcess(Core::System& system) {
auto* current_process = system.Kernel().CurrentProcess();
- UNIMPLEMENTED();
LOG_INFO(Kernel_SVC, "Process {} exiting", current_process->GetProcessID());
ASSERT_MSG(current_process->GetStatus() == ProcessStatus::Running,
"Process has already exited");
+
+ system.Exit();
}
static void ExitProcess32(Core::System& system) {