diff options
| author | Nikita Strygin <nikita6@bk.ru> | 2022-06-16 21:35:34 +0300 | 
|---|---|---|
| committer | Nikita Strygin <nikita6@bk.ru> | 2022-06-16 21:35:34 +0300 | 
| commit | cf7e4bda92cb48ef21a047e0ce54a82c37814544 (patch) | |
| tree | 8b1f2d43024d32990d41ffe5a429a302bf9af66b | |
| parent | f86b770ff75efff029fa82b959b3f33eca1750fe (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
| -rw-r--r-- | src/core/hle/kernel/svc.cpp | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index 47db0bacf..2ff6d5fa6 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) {  | 
