From a7f73d606f596ab73cf794a76c06cd955033cada Mon Sep 17 00:00:00 2001 From: bunnei Date: Wed, 6 Apr 2022 17:44:06 -0700 Subject: hle: kernel: Unify and integrate reference tracking for KServerPort/KServerSession. - These are not managed elsewhere, and need to be tracked and closed on emulation shutdown. --- src/core/hle/kernel/kernel.h | 8 ++++++++ 1 file changed, 8 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 24e26fa44..d709c368b 100644 --- a/src/core/hle/kernel/kernel.h +++ b/src/core/hle/kernel/kernel.h @@ -195,6 +195,14 @@ public: /// Opens a port to a service previously registered with RegisterNamedService. KClientPort* CreateNamedServicePort(std::string name); + /// Registers a server session or port with the gobal emulation state, to be freed on shutdown. + /// This is necessary because we do not emulate processes for HLE sessions and ports. + void RegisterServerObject(KAutoObject* server_object); + + /// Unregisters a server session or port previously registered with RegisterServerSession when + /// it was destroyed during the current emulation session. + void UnregisterServerObject(KAutoObject* server_object); + /// Registers all kernel objects with the global emulation state, this is purely for tracking /// leaks after emulation has been shutdown. void RegisterKernelObject(KAutoObject* object); -- cgit v1.2.3