Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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. |