diff options
| author | 2024-01-02 17:12:16 -0500 | |
|---|---|---|
| committer | 2024-01-12 18:31:33 -0500 | |
| commit | f90a022d3a20c86399f49a8154847b73bc1b8fd3 (patch) | |
| tree | 672214411189aaf408febc5aa9cc01e45aed5f5f /src/core/hle/kernel/kernel.h | |
| parent | kernel: fix page leak on process termination (diff) | |
| download | yuzu-f90a022d3a20c86399f49a8154847b73bc1b8fd3.tar.gz yuzu-f90a022d3a20c86399f49a8154847b73bc1b8fd3.tar.xz yuzu-f90a022d3a20c86399f49a8154847b73bc1b8fd3.zip | |
kernel: fix debugger and process list lifetime
Diffstat (limited to 'src/core/hle/kernel/kernel.h')
| -rw-r--r-- | src/core/hle/kernel/kernel.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h index 5d4102145..8ea5bed1c 100644 --- a/src/core/hle/kernel/kernel.h +++ b/src/core/hle/kernel/kernel.h | |||
| @@ -5,6 +5,7 @@ | |||
| 5 | 5 | ||
| 6 | #include <array> | 6 | #include <array> |
| 7 | #include <functional> | 7 | #include <functional> |
| 8 | #include <list> | ||
| 8 | #include <memory> | 9 | #include <memory> |
| 9 | #include <string> | 10 | #include <string> |
| 10 | #include <unordered_map> | 11 | #include <unordered_map> |
| @@ -116,8 +117,9 @@ public: | |||
| 116 | /// Retrieves a shared pointer to the system resource limit instance. | 117 | /// Retrieves a shared pointer to the system resource limit instance. |
| 117 | KResourceLimit* GetSystemResourceLimit(); | 118 | KResourceLimit* GetSystemResourceLimit(); |
| 118 | 119 | ||
| 119 | /// Adds the given shared pointer to an internal list of active processes. | 120 | /// Adds/removes the given pointer to an internal list of active processes. |
| 120 | void AppendNewProcess(KProcess* process); | 121 | void AppendNewProcess(KProcess* process); |
| 122 | void RemoveProcess(KProcess* process); | ||
| 121 | 123 | ||
| 122 | /// Makes the given process the new application process. | 124 | /// Makes the given process the new application process. |
| 123 | void MakeApplicationProcess(KProcess* process); | 125 | void MakeApplicationProcess(KProcess* process); |
| @@ -129,7 +131,7 @@ public: | |||
| 129 | const KProcess* ApplicationProcess() const; | 131 | const KProcess* ApplicationProcess() const; |
| 130 | 132 | ||
| 131 | /// Retrieves the list of processes. | 133 | /// Retrieves the list of processes. |
| 132 | const std::vector<KProcess*>& GetProcessList() const; | 134 | std::list<KScopedAutoObject<KProcess>> GetProcessList(); |
| 133 | 135 | ||
| 134 | /// Gets the sole instance of the global scheduler | 136 | /// Gets the sole instance of the global scheduler |
| 135 | Kernel::GlobalSchedulerContext& GlobalSchedulerContext(); | 137 | Kernel::GlobalSchedulerContext& GlobalSchedulerContext(); |