summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/server_session.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* kernel: Remove unnecessary includesLioncash2018-07-311-2/+2
| | | | | Removes unnecessary direct dependencies in some headers and also gets rid of indirect dependencies that were being relied on to be included.
* Kernel/IPC: Add a small delay after each SyncRequest to prevent thread starvation.Subv2018-02-181-9/+5
| | | | | | | | 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.
* hle: Integrate Domain handling into ServerSession.bunnei2018-01-251-1/+17
|
* Format: Run the new clang format on everythingJames Rowe2018-01-211-1/+1
|
* kernel: Fix implementation of ConvertSessionToDomain.bunnei2017-12-291-10/+0
|
* hle: Implement ConvertSessionToDomain, various cleanups.bunnei2017-10-151-0/+10
|
* Kernel/ServerSession: Keep track of which threads have issued sync requests.Subv2017-06-251-2/+12
|
* Session: Remove/add some forward declarationsYuri Kunde Schlesner2017-06-081-1/+1
|
* Kernel: Add a dedicated SetHleHandler method to ServerPort/ServerSessionYuri Kunde Schlesner2017-06-061-8/+12
| | | | | | 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-5/+4
| | | | | 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: Move HandleTable to a separate fileYuri Kunde Schlesner2017-05-301-1/+1
|
* Kernel: Move WaitObject to a separate fileYuri Kunde Schlesner2017-05-301-0/+1
| | | | | Now that HandleTable doesn't directly depend on WaitObject anymore, this can be separated from the main kernel.h header.
* Kernel: Use a Session object to keep track of the status of a Client/Server session pair.Subv2017-05-151-3/+9
| | | | Reduce the associated port's connection count when a ServerSession is destroyed.
* Doxygen: Amend minor issues (#2593)Mat M2017-02-271-1/+2
| | | | | | | | | Corrects a few issues with regards to Doxygen documentation, for example: - Incorrect parameter referencing. - Missing @param tags. - Typos in @param tags. and a few minor other issues.
* Core: Remove unnecessary include in thread.hYuri Kunde Schlesner2017-02-271-0/+1
|
* Kernel: Object ShouldWait and Acquire calls now take a thread as a parameter.Subv2017-01-041-2/+2
| | | | 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-0/+10
|
* Use std::move where appropriate.Subv2016-12-081-1/+3
|
* KServerPorts now have an HLE handler "template", which is inherited by all ServerSessions created from it.Subv2016-12-051-15/+15
|
* Fixed the rebase mistakes.Subv2016-12-011-3/+6
|
* A bit of a redesign.Subv2016-12-011-159/+8
| | | | | | | 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/+225
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.