diff options
author | bunnei <[email protected]> | 2022-04-06 17:44:06 -0700 |
---|---|---|
committer | bunnei <[email protected]> | 2022-04-08 14:13:22 -0700 |
commit | a7f73d606f596ab73cf794a76c06cd955033cada (patch) | |
tree | 55f4a3d1decb97c548f6ab33128aef4566f18c7c /src/core/hle/kernel/kernel.h | |
parent | b44a564792dc391aa2012b424b04ea50c83e27d1 (diff) | |
download | yuzu-android-a7f73d606f596ab73cf794a76c06cd955033cada.tar.gz yuzu-android-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.h | 8 |
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: /// 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); |