summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/server_session.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2018-05-02general: Make formatting of logged hex values more straightforwardLioncash1-1/+1
This makes the formatting expectations more obvious (e.g. any zero padding specified is padding that's entirely dedicated to the value being printed, not any pretty-printing that also gets tacked on).
2018-05-02ipc: Add support for PopIpcInterface() method.bunnei1-0/+3
- This can be used for domain objects as inputs to service functions.
2018-04-26kernel: Migrate logging macros to fmt-compatible onesLioncash1-3/+3
2018-03-19Clang FixesN00byKing1-1/+2
2018-03-19Clean Warnings (?)N00byKing1-1/+1
2018-03-14core: Move process creation out of global state.bunnei1-1/+2
2018-02-20Fix: change check for domain order and existance of domain message headermailwl1-1/+1
2018-02-20IPC: add domain header to response if only it exists in requestmailwl1-1/+1
2018-02-18 Kernel/IPC: Add a small delay after each SyncRequest to prevent thread starvation.Subv1-41/+56
Ported from citra PR #3091 The delay specified here is from a Nintendo 3DS, and should be measured in a Nintendo Switch. This change is enough to prevent Puyo Puyo Tetris's main thread starvation.
2018-01-25server_session: Fix scenario where all domain handlers are closed.bunnei1-3/+3
2018-01-25hle: Rename RequestBuilder to ResponseBuilder.bunnei1-1/+1
2018-01-25hle: Integrate Domain handling into ServerSession.bunnei1-5/+42
2017-12-29kernel: Fix implementation of ConvertSessionToDomain.bunnei1-2/+9
2017-11-01service: Return proper result code for IPC::CommandType::Close.bunnei1-5/+6
2017-06-25Kernel/ServerSession: Keep track of which threads have issued sync requests.Subv1-6/+16
2017-06-19ResultVal: Remove MoveFrom()Yuri Kunde Schlesner1-1/+1
Replace it with std::move(result_val).Unwrap(), or Foo().Unwrap() in case you already have an rvalue.
2017-06-06Kernel: Add a dedicated SetHleHandler method to ServerPort/ServerSessionYuri Kunde Schlesner1-11/+5
This allows attaching a HLE handle to a ServerPort at any point after it is created, allowing port/session creation to be generic between HLE and regular services.
2017-06-06HLE: Move SessionRequestHandler from Service:: to Kernel::Yuri Kunde Schlesner1-2/+5
Most of the code that works with this is or will be in the kernel, so it's a more appropriate place for it to be.
2017-05-22Kernel/Sessions: Remove the ClientSession::Create function.Subv1-1/+3
It is not meant to be used by anything other than CreateSessionPair.
2017-05-15Kernel: Use a Session object to keep track of the status of a Client/Server session pair.Subv1-7/+22
Reduce the associated port's connection count when a ServerSession is destroyed.
2017-01-04Kernel: Object ShouldWait and Acquire calls now take a thread as a parameter.Subv1-3/+3
This will be useful when implementing mutex priority inheritance.
2016-12-14Fixed the codestyle to match our clang-format rules.Subv1-10/+15
2016-12-09Moved the HLE command buffer translation task to ServerSession instead of the HLE handler superclass.Subv1-2/+13
2016-12-08Added a framework for partially handling Session disconnections.Subv1-2/+8
Further implementation will happen in a future commit. Fixes a regression.
2016-12-08Use std::move where appropriate.Subv1-3/+4
2016-12-05KServerPorts now have an HLE handler "template", which is inherited by all ServerSessions created from it.Subv1-3/+3
2016-12-03Declare empty ServerSession and ClientSession constructors as default.Subv1-2/+2
2016-12-01Fixed the rebase mistakes.Subv1-1/+0
2016-12-01A bit of a redesign.Subv1-13/+12
Sessions and Ports are now detached from each other. HLE services are handled by means of a SessionRequestHandler class, Interface now inherits from this class. The File and Directory classes are no longer kernel objects, but SessionRequestHandlers instead, bound to a ServerSession when requested. File::OpenLinkFile now creates a new session pair and binds the File instance to it.
2016-12-01fixup! Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.Subv1-1/+1
2016-12-01 Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.Subv1-0/+58
All handles obtained via srv::GetServiceHandle or svcConnectToPort are references to ClientSessions. Service modules will wait on the counterpart of those ClientSessions (Called ServerSessions) using svcReplyAndReceive or svcWaitSynchronization[1|N], and will be awoken when a SyncRequest is performed. HLE Interfaces are now ClientPorts which override the HandleSyncRequest virtual member function to perform command handling immediately.