summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/kernel.h
diff options
context:
space:
mode:
authorGravatar bunnei2021-07-02 15:19:04 -0700
committerGravatar bunnei2021-07-20 18:54:56 -0700
commit52caa52cc2e47d426b5af38fd8439da237836e0e (patch)
tree1412e9e92f8f3f1bd67d2d237234d149011a55d2 /src/core/hle/kernel/kernel.h
parenthle: kernel: KProcess: Change process termination assert to a warning. (diff)
downloadyuzu-52caa52cc2e47d426b5af38fd8439da237836e0e.tar.gz
yuzu-52caa52cc2e47d426b5af38fd8439da237836e0e.tar.xz
yuzu-52caa52cc2e47d426b5af38fd8439da237836e0e.zip
hle: kernel: Track and release server sessions, and protect methods with locks.
Diffstat (limited to 'src/core/hle/kernel/kernel.h')
-rw-r--r--src/core/hle/kernel/kernel.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h
index b669ca74e..3a6db0b1c 100644
--- a/src/core/hle/kernel/kernel.h
+++ b/src/core/hle/kernel/kernel.h
@@ -45,6 +45,7 @@ class KPort;
45class KProcess; 45class KProcess;
46class KResourceLimit; 46class KResourceLimit;
47class KScheduler; 47class KScheduler;
48class KServerSession;
48class KSession; 49class KSession;
49class KSharedMemory; 50class KSharedMemory;
50class KThread; 51class KThread;
@@ -185,6 +186,14 @@ public:
185 /// Opens a port to a service previously registered with RegisterNamedService. 186 /// Opens a port to a service previously registered with RegisterNamedService.
186 KClientPort* CreateNamedServicePort(std::string name); 187 KClientPort* CreateNamedServicePort(std::string name);
187 188
189 /// Registers a server session with the gobal emulation state, to be freed on shutdown. This is
190 /// necessary because we do not emulate processes for HLE sessions.
191 void RegisterServerSession(KServerSession* server_session);
192
193 /// Unregisters a server session previously registered with RegisterServerSession when it was
194 /// destroyed during the current emulation session.
195 void UnregisterServerSession(KServerSession* server_session);
196
188 /// Registers all kernel objects with the global emulation state, this is purely for tracking 197 /// Registers all kernel objects with the global emulation state, this is purely for tracking
189 /// leaks after emulation has been shutdown. 198 /// leaks after emulation has been shutdown.
190 void RegisterKernelObject(KAutoObject* object); 199 void RegisterKernelObject(KAutoObject* object);