summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/server_session.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/kernel/server_session.cpp')
-rw-r--r--src/core/hle/kernel/server_session.cpp23
1 files changed, 5 insertions, 18 deletions
diff --git a/src/core/hle/kernel/server_session.cpp b/src/core/hle/kernel/server_session.cpp
index 790dbb998..bb247959c 100644
--- a/src/core/hle/kernel/server_session.cpp
+++ b/src/core/hle/kernel/server_session.cpp
@@ -44,12 +44,7 @@ ResultVal<std::shared_ptr<ServerSession>> ServerSession::Create(KernelCore& kern
bool ServerSession::IsSignaled() const {
// Closed sessions should never wait, an error will be returned from svcReplyAndReceive.
- if (!parent->Client()) {
- return true;
- }
-
- // Wait if we have no pending requests, or if we're currently handling a request.
- return !pending_requesting_threads.empty() && currently_handling == nullptr;
+ return !parent->Client();
}
void ServerSession::ClientDisconnected() {
@@ -62,11 +57,6 @@ void ServerSession::ClientDisconnected() {
// invalidated (set to null).
handler->ClientDisconnected(SharedFrom(this));
}
-
- // Clean up the list of client threads with pending requests, they are unneeded now that the
- // client endpoint is closed.
- pending_requesting_threads.clear();
- currently_handling = nullptr;
}
void ServerSession::AppendDomainRequestHandler(std::shared_ptr<SessionRequestHandler> handler) {
@@ -116,11 +106,9 @@ ResultCode ServerSession::HandleDomainSyncRequest(Kernel::HLERequestContext& con
return RESULT_SUCCESS;
}
-ResultCode ServerSession::QueueSyncRequest(std::shared_ptr<KThread> thread,
- Core::Memory::Memory& memory) {
+ResultCode ServerSession::QueueSyncRequest(KThread* thread, Core::Memory::Memory& memory) {
u32* cmd_buf{reinterpret_cast<u32*>(memory.GetPointer(thread->GetTLSAddress()))};
- auto context =
- std::make_shared<HLERequestContext>(kernel, memory, SharedFrom(this), std::move(thread));
+ auto context = std::make_shared<HLERequestContext>(kernel, memory, SharedFrom(this), thread);
context->PopulateFromIncomingCommandBuffer(kernel.CurrentProcess()->GetHandleTable(), cmd_buf);
@@ -161,10 +149,9 @@ ResultCode ServerSession::CompleteSyncRequest(HLERequestContext& context) {
return result;
}
-ResultCode ServerSession::HandleSyncRequest(std::shared_ptr<KThread> thread,
- Core::Memory::Memory& memory,
+ResultCode ServerSession::HandleSyncRequest(KThread* thread, Core::Memory::Memory& memory,
Core::Timing::CoreTiming& core_timing) {
- return QueueSyncRequest(std::move(thread), memory);
+ return QueueSyncRequest(thread, memory);
}
} // namespace Kernel