From 3f17fe71334a27a60bf54adc55eabe2356ed31f5 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Thu, 6 Sep 2018 20:34:51 -0400 Subject: core: Migrate current_process pointer to the kernel Given we now have the kernel as a class, it doesn't make sense to keep the current process pointer within the System class, as processes are related to the kernel. This also gets rid of a subtle case where memory wouldn't be freed on core shutdown, as the current_process pointer would never be reset, causing the pointed to contents to continue to live. --- src/core/hle/kernel/kernel.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/core/hle/kernel/kernel.h') diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h index ab2e9bffa..c0771ecf0 100644 --- a/src/core/hle/kernel/kernel.h +++ b/src/core/hle/kernel/kernel.h @@ -65,6 +65,15 @@ public: /// Adds the given shared pointer to an internal list of active processes. void AppendNewProcess(SharedPtr process); + /// Makes the given process the new current process. + void MakeCurrentProcess(SharedPtr process); + + /// Retrieves a reference to the current process. + SharedPtr& CurrentProcess(); + + /// Retrieves a const reference to the current process. + const SharedPtr& CurrentProcess() const; + /// Adds a port to the named port table void AddNamedPort(std::string name, SharedPtr port); -- cgit v1.2.3