summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/server_session.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* server_session: Fix scenario where all domain handlers are closed.bunnei2018-01-251-3/+3
|
* hle: Rename RequestBuilder to ResponseBuilder.bunnei2018-01-251-1/+1
|
* hle: Integrate Domain handling into ServerSession.bunnei2018-01-251-5/+42
|
* kernel: Fix implementation of ConvertSessionToDomain.bunnei2017-12-291-2/+9
|
* service: Return proper result code for IPC::CommandType::Close.bunnei2017-11-011-5/+6
|
* Merge pull request #2793 from Subv/replyandreceiveSebastian Valle2017-06-301-6/+16
|\ | | | | Kernel/SVC: Partially implemented svcReplyAndReceive
| * Kernel/ServerSession: Keep track of which threads have issued sync requests.Subv2017-06-251-6/+16
| |
* | ResultVal: Remove MoveFrom()Yuri Kunde Schlesner2017-06-191-1/+1
|/ | | | | Replace it with std::move(result_val).Unwrap(), or Foo().Unwrap() in case you already have an rvalue.
* Kernel: Add a dedicated SetHleHandler method to ServerPort/ServerSessionYuri Kunde Schlesner2017-06-061-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.
* HLE: Move SessionRequestHandler from Service:: to Kernel::Yuri Kunde Schlesner2017-06-061-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.
* Kernel/Sessions: Remove the ClientSession::Create function.Subv2017-05-221-1/+3
| | | | It is not meant to be used by anything other than CreateSessionPair.
* Kernel: Use a Session object to keep track of the status of a Client/Server session pair.Subv2017-05-151-7/+22
| | | | Reduce the associated port's connection count when a ServerSession is destroyed.
* Kernel: Object ShouldWait and Acquire calls now take a thread as a parameter.Subv2017-01-041-3/+3
| | | | This will be useful when implementing mutex priority inheritance.
* Fixed the codestyle to match our clang-format rules.Subv2016-12-141-10/+15
|
* Moved the HLE command buffer translation task to ServerSession instead of the HLE handler superclass.Subv2016-12-091-2/+13
|
* Added a framework for partially handling Session disconnections.Subv2016-12-081-2/+8
| | | | | | Further implementation will happen in a future commit. Fixes a regression.
* Use std::move where appropriate.Subv2016-12-081-3/+4
|
* KServerPorts now have an HLE handler "template", which is inherited by all ServerSessions created from it.Subv2016-12-051-3/+3
|
* Declare empty ServerSession and ClientSession constructors as default.Subv2016-12-031-2/+2
|
* Fixed the rebase mistakes.Subv2016-12-011-1/+0
|
* A bit of a redesign.Subv2016-12-011-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.
* fixup! Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.Subv2016-12-011-1/+1
|
* Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.Subv2016-12-011-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.