summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/kernel.h
diff options
context:
space:
mode:
authorGravatar bunnei2022-04-06 17:44:06 -0700
committerGravatar bunnei2022-04-08 14:13:22 -0700
commita7f73d606f596ab73cf794a76c06cd955033cada (patch)
tree55f4a3d1decb97c548f6ab33128aef4566f18c7c /src/core/hle/kernel/kernel.h
parenthle: kernel: k_server_port: Release ref-counted host emulation members on Des... (diff)
downloadyuzu-a7f73d606f596ab73cf794a76c06cd955033cada.tar.gz
yuzu-a7f73d606f596ab73cf794a76c06cd955033cada.tar.xz
yuzu-a7f73d606f596ab73cf794a76c06cd955033cada.zip
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.
Diffstat (limited to 'src/core/hle/kernel/kernel.h')
-rw-r--r--src/core/hle/kernel/kernel.h8
1 files changed, 8 insertions, 0 deletions
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:
195 /// Opens a port to a service previously registered with RegisterNamedService. 195 /// Opens a port to a service previously registered with RegisterNamedService.
196 KClientPort* CreateNamedServicePort(std::string name); 196 KClientPort* CreateNamedServicePort(std::string name);
197 197
198 /// Registers a server session or port with the gobal emulation state, to be freed on shutdown.
199 /// This is necessary because we do not emulate processes for HLE sessions and ports.
200 void RegisterServerObject(KAutoObject* server_object);
201
202 /// Unregisters a server session or port previously registered with RegisterServerSession when
203 /// it was destroyed during the current emulation session.
204 void UnregisterServerObject(KAutoObject* server_object);
205
198 /// Registers all kernel objects with the global emulation state, this is purely for tracking 206 /// Registers all kernel objects with the global emulation state, this is purely for tracking
199 /// leaks after emulation has been shutdown. 207 /// leaks after emulation has been shutdown.
200 void RegisterKernelObject(KAutoObject* object); 208 void RegisterKernelObject(KAutoObject* object);