summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/server_session.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2020-12-10 06:27:05 +0100
committerbunnei <bunneidev@gmail.com>2020-12-29 01:33:47 +0100
commit28281ae2500a4af9c36c26de5ba07b80d440b335 (patch)
tree8113b0af071dbe7004f5f072862d47f557a9eb27 /src/core/hle/kernel/server_session.h
parentMerge pull request #5233 from german77/inverted (diff)
downloadyuzu-28281ae2500a4af9c36c26de5ba07b80d440b335.tar
yuzu-28281ae2500a4af9c36c26de5ba07b80d440b335.tar.gz
yuzu-28281ae2500a4af9c36c26de5ba07b80d440b335.tar.bz2
yuzu-28281ae2500a4af9c36c26de5ba07b80d440b335.tar.lz
yuzu-28281ae2500a4af9c36c26de5ba07b80d440b335.tar.xz
yuzu-28281ae2500a4af9c36c26de5ba07b80d440b335.tar.zst
yuzu-28281ae2500a4af9c36c26de5ba07b80d440b335.zip
Diffstat (limited to 'src/core/hle/kernel/server_session.h')
-rw-r--r--src/core/hle/kernel/server_session.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/core/hle/kernel/server_session.h b/src/core/hle/kernel/server_session.h
index d23e9ec68..8466b03e6 100644
--- a/src/core/hle/kernel/server_session.h
+++ b/src/core/hle/kernel/server_session.h
@@ -10,6 +10,7 @@
#include <vector>
#include "common/threadsafe_queue.h"
+#include "core/hle/kernel/service_thread.h"
#include "core/hle/kernel/synchronization_object.h"
#include "core/hle/result.h"
@@ -43,6 +44,8 @@ class Thread;
* TLS buffer and control is transferred back to it.
*/
class ServerSession final : public SynchronizationObject {
+ friend class ServiceThread;
+
public:
explicit ServerSession(KernelCore& kernel);
~ServerSession() override;
@@ -132,7 +135,7 @@ private:
ResultCode QueueSyncRequest(std::shared_ptr<Thread> thread, Core::Memory::Memory& memory);
/// Completes a sync request from the emulated application.
- ResultCode CompleteSyncRequest();
+ ResultCode CompleteSyncRequest(HLERequestContext& context);
/// Handles a SyncRequest to a domain, forwarding the request to the proper object or closing an
/// object handle.
@@ -163,11 +166,8 @@ private:
/// The name of this session (optional)
std::string name;
- /// Core timing event used to schedule the service request at some point in the future
- std::shared_ptr<Core::Timing::EventType> request_event;
-
- /// Queue of scheduled service requests
- Common::MPSCQueue<std::shared_ptr<Kernel::HLERequestContext>> request_queue;
+ /// Thread to dispatch service requests
+ std::unique_ptr<ServiceThread> service_thread;
};
} // namespace Kernel