Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | service: Return proper result code for IPC::CommandType::Close. | bunnei | 2017-11-01 | 1 | -5/+6 |
| | |||||
* | Merge pull request #2793 from Subv/replyandreceive | Sebastian Valle | 2017-06-30 | 1 | -6/+16 |
|\ | | | | | Kernel/SVC: Partially implemented svcReplyAndReceive | ||||
| * | Kernel/ServerSession: Keep track of which threads have issued sync requests. | Subv | 2017-06-25 | 1 | -6/+16 |
| | | |||||
* | | ResultVal: Remove MoveFrom() | Yuri Kunde Schlesner | 2017-06-19 | 1 | -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/ServerSession | Yuri Kunde Schlesner | 2017-06-06 | 1 | -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 Schlesner | 2017-06-06 | 1 | -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. | Subv | 2017-05-22 | 1 | -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. | Subv | 2017-05-15 | 1 | -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. | Subv | 2017-01-04 | 1 | -3/+3 |
| | | | | This will be useful when implementing mutex priority inheritance. | ||||
* | Fixed the codestyle to match our clang-format rules. | Subv | 2016-12-14 | 1 | -10/+15 |
| | |||||
* | Moved the HLE command buffer translation task to ServerSession instead of the HLE handler superclass. | Subv | 2016-12-09 | 1 | -2/+13 |
| | |||||
* | Added a framework for partially handling Session disconnections. | Subv | 2016-12-08 | 1 | -2/+8 |
| | | | | | | Further implementation will happen in a future commit. Fixes a regression. | ||||
* | Use std::move where appropriate. | Subv | 2016-12-08 | 1 | -3/+4 |
| | |||||
* | KServerPorts now have an HLE handler "template", which is inherited by all ServerSessions created from it. | Subv | 2016-12-05 | 1 | -3/+3 |
| | |||||
* | Declare empty ServerSession and ClientSession constructors as default. | Subv | 2016-12-03 | 1 | -2/+2 |
| | |||||
* | Fixed the rebase mistakes. | Subv | 2016-12-01 | 1 | -1/+0 |
| | |||||
* | A bit of a redesign. | Subv | 2016-12-01 | 1 | -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. | Subv | 2016-12-01 | 1 | -1/+1 |
| | |||||
* | Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication. | Subv | 2016-12-01 | 1 | -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. |