Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | client_port: Make all data members private | Lioncash | 2018-08-07 | 1 | -1/+1 |
| | | | | | | | | These members don't need to be entirely exposed, we can instead expose an API to operate on them without directly needing to mutate them We can also guard against overflow/API misuse this way as well, given active_sessions is an unsigned value. | ||||
* | kernel: Remove unnecessary includes | Lioncash | 2018-07-31 | 1 | -0/+2 |
| | | | | | Removes unnecessary direct dependencies in some headers and also gets rid of indirect dependencies that were being relied on to be included. | ||||
* | thread: Convert ThreadStatus into an enum class | Lioncash | 2018-07-20 | 1 | -2/+2 |
| | | | | | Makes the thread status strongly typed, so implicit conversions can't happen. It also makes it easier to catch mistakes at compile time. | ||||
* | core/memory, core/hle/kernel: Use std::move where applicable | Lioncash | 2018-07-19 | 1 | -1/+2 |
| | | | | Avoids pointless copies | ||||
* | Update clang format | James Rowe | 2018-07-03 | 1 | -1/+1 |
| | |||||
* | Rename logging macro back to LOG_* | James Rowe | 2018-07-03 | 1 | -2/+2 |
| | |||||
* | Merge pull request #431 from lioncash/fmt | bunnei | 2018-05-02 | 1 | -1/+1 |
|\ | | | | | general: Make formatting of logged hex values more straightforward | ||||
| * | general: Make formatting of logged hex values more straightforward | Lioncash | 2018-05-02 | 1 | -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). | ||||
* | | ipc: Add support for PopIpcInterface() method. | bunnei | 2018-05-02 | 1 | -0/+3 |
|/ | | | | - This can be used for domain objects as inputs to service functions. | ||||
* | kernel: Migrate logging macros to fmt-compatible ones | Lioncash | 2018-04-26 | 1 | -3/+3 |
| | |||||
* | Clang Fixes | N00byKing | 2018-03-19 | 1 | -1/+2 |
| | |||||
* | Clean Warnings (?) | N00byKing | 2018-03-19 | 1 | -1/+1 |
| | |||||
* | core: Move process creation out of global state. | bunnei | 2018-03-14 | 1 | -1/+2 |
| | |||||
* | Fix: change check for domain order and existance of domain message header | mailwl | 2018-02-20 | 1 | -1/+1 |
| | |||||
* | IPC: add domain header to response if only it exists in request | mailwl | 2018-02-20 | 1 | -1/+1 |
| | |||||
* | Kernel/IPC: Add a small delay after each SyncRequest to prevent thread starvation. | Subv | 2018-02-18 | 1 | -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. | ||||
* | server_session: Fix scenario where all domain handlers are closed. | bunnei | 2018-01-25 | 1 | -3/+3 |
| | |||||
* | hle: Rename RequestBuilder to ResponseBuilder. | bunnei | 2018-01-25 | 1 | -1/+1 |
| | |||||
* | hle: Integrate Domain handling into ServerSession. | bunnei | 2018-01-25 | 1 | -5/+42 |
| | |||||
* | kernel: Fix implementation of ConvertSessionToDomain. | bunnei | 2017-12-29 | 1 | -2/+9 |
| | |||||
* | 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. |