aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/k_server_session.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [kernel, service] Return ResultSessionClosed when a session is closed (#4318)Maufeat2026-08-301-2/+2
| | | | | | | | | | | | | | - [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions). - [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md) - [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability. ------------------- I tried to run a homebrew game which tried to reply to a closed service. nnSdk expected ResultSessionClosed, we replied with ResultSuccess which mostly works but some have stricter handling and would terminate with abort. Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4318 Reviewed-by: Lizzie and Samuel <lizzie@eden-emu.dev> Reviewed-by: crueter <crueter@eden-emu.dev>
* [video_core, hle] remove redundant parent references in system structs (#3908)lizzie2026-06-231-73/+67
| | | | | | | | | | reworked a bit to remove references of parent objects and instead pass as arguments to methods to prevent useless reloads Signed-off-by: lizzie <lizzie@eden-emu.dev> Co-authored-by: maufeat <sahyno1996@gmail.com> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3908 Reviewed-by: Maufeat <sahyno1996@gmail.com> Reviewed-by: crueter <crueter@eden-emu.dev>
* [common/logging] Simplify logging logic and fix issues when logging before ↵lizzie2026-03-121-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | system is created (#3688) - our logging code was bigger than spdlog itself, why???? just keep it simple - fix issues when logging before logging system is even started - removes the "initialized logging twice" issue - removes uneeded indirection in file logging - uses direct formatting instead of jumping hoopla-around the fmt::format() ressult - code duplication and dead code removal as usual I did explore dup2() but I think it's not worth the hassle I did try `fwopen()` but it's better if things are just kept as-is. there is a lot of noise because I removed a bunch of redundant files on logging and just put everything in one file now normally this wouldn't be a good idea, however consider: the complexity of logging; it's less than 500 lines... does it really need a whole subsystem?!?!?! ITS JUST LOGGING Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3688 Reviewed-by: crueter <crueter@eden-emu.dev> Reviewed-by: DraVee <chimera@dravee.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* scope_exit: Make constexprFearlessTobi2024-02-191-13/+23
| | | | | Allows the use of the macro in constexpr-contexts. Also avoids some potential problems when nesting braces inside it.
* service: fetch objects from the client handle tableLiam2023-12-241-2/+1
|
* k_server_session: remove scratch buffer usage in favor of direct copyLiam2023-12-221-39/+124
|
* k_server_session: process for guest serversLiam2023-12-221-231/+1109
|
* Merge pull request #12321 from liamwhite/ro2liamwhite2023-12-101-2/+1
|\ | | | | ro: add separate ro service
| * service: populate pid and handle table from clientLiam2023-12-091-2/+1
| |
* | kernel: implement remaining IPC syscallsLiam2023-12-061-0/+5
|/
* kernel: add KPageTableBaseLiam2023-11-101-1/+1
| | | | Co-authored-by: Kelebek1 <eeeedddccc@hotmail.co.uk>
* k_server_session: translate special header for non-HLE requestsLiam2023-07-081-7/+158
|
* memory: rename global memory references to application memoryLiam2023-03-231-2/+2
|
* kernel: convert KThread to new styleLiam2023-03-121-2/+2
|
* kernel: prefer std::addressofLiam2023-03-121-6/+7
|
* kernel: remove kernel_Liam2023-03-121-20/+20
|
* kernel/svc: convert to new styleLiam2023-03-121-2/+2
|
* kernel: convert KPort, KSessionLiam2023-03-121-12/+6
|
* service: move hle_ipc from kernelLiam2023-03-011-5/+6
|
* kernel: invert session request handling flowLiam2022-10-311-59/+128
|
* kernel: remove most SessionRequestManager handling from KServerSessionLiam2022-10-191-87/+2
|
* kernel: add KSessionRequestLiam2022-10-191-53/+90
|
* k_server_session: preliminary support for userspace server sessionsLiam2022-10-111-13/+230
|
* core: Replace all instances of ResultCode with Resultgerman772022-06-261-6/+6
|
* common: Change semantics of UNREACHABLE to unconditionally crashLiam2022-06-131-2/+2
|
* general: Convert source file copyright comments over to SPDXMorph2022-04-231-3/+2
| | | | | This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
* hle: kernel: Unify and integrate reference tracking for ↵bunnei2022-04-081-0/+3
| | | | | | KServerPort/KServerSession. - These are not managed elsewhere, and need to be tracked and closed on emulation shutdown.
* core: hle: kernel: Remove server session tracking.bunnei2022-03-141-4/+1
| | | | - These are now allocated/managed by emulated memory, so we do not need to track and free them on shutdown.
* core: hle: kernel: k_server_session: Ensure SessionRequestManager is freed.bunnei2022-03-141-0/+3
|
* core: hle: kernel: Use weak_ptr where possible for SessionRequestHandler and ↵bunnei2022-03-141-1/+6
| | | | SessionRequestManager.
* hle: kernel: KServerSession: Remove hack for CompleteSyncRequest.bunnei2022-01-201-11/+0
| | | | - This does not appear to be necessary anymore.
* hle: kernel: KServerSession: Simplify CompleteSyncRequest EndWait.bunnei2022-01-201-7/+2
| | | | | - Considering is_thread_waiting is never set, so we can remove IsThreadWaiting. - KThread::EndWait will take the scheduler lock, so we can remove the redundant lock.
* hle: kernel: KServerSession: Migrate to updated KThreadQueue.bunnei2021-12-061-2/+1
|
* hle: kernel: KThread: Remove tracking of sync object from threads.bunnei2021-12-061-1/+1
|
* core: Fix transitive include build errorsameerj2021-11-031-0/+1
|
* core: Remove unused includesameerj2021-11-031-1/+0
|
* hle: kernel: Track and release server sessions, and protect methods with locks.bunnei2021-07-201-1/+4
|
* hle: kernel: KServerSession: Work-around scenario where session is closed ↵bunnei2021-06-081-7/+24
| | | | too early.
* hle: kernel: hle_ipc: Ensure SessionRequestHandler is valid.bunnei2021-06-071-4/+9
|
* hle: kernel: Remove service thread manager and use weak_ptr.bunnei2021-06-071-1/+1
| | | | | - We no longer need to queue up service threads to be destroyed. - Fixes a race condition where a thread could be destroyed too early, which caused a crash in Pokemon Sword/Shield.
* hle: kernel: KServerSession: Use ASSERT_MSG where appropriate.bunnei2021-06-061-1/+1
|
* hle: kernel: k_server_session: Return service thread by strong pointer.bunnei2021-06-061-1/+1
|
* hle: kernel: k_server_session: Ensure service thread is valid before ↵bunnei2021-06-061-1/+3
| | | | dereference.
* hle: kernel: KAutoObjectWithListContainer: Use boost::instrusive::rbtree.bunnei2021-06-061-2/+2
| | | | - Fixes some crashes introduced by our common intrusive red/black tree impl.
* hle: kernel: Refactor to allocate a ServiceThread per service handler.bunnei2021-06-041-8/+13
| | | | | | - Previously, we would allocate a thread per session, which adds new threads on CloneCurrentObject. - This results in race conditions with N sessions queuing requests to the same service interface. - Fixes Pokken Tournament DX crashes/softlocks, which were regressed by #6347.
* general: Replace RESULT_SUCCESS with ResultSuccessMorph2021-06-021-8/+8
| | | | Transition to PascalCase for result names.
* hle: kernel: Implement CloneCurrentObject and improve session management.bunnei2021-05-201-20/+15
|
* hle: service: Implement IPC::CommandType::Close.bunnei2021-05-101-2/+2
| | | | - This was not actually closing sessions before.
* kernel: Eliminate variable shadowingLioncash2021-05-081-1/+1
| | | | | Now that the large kernel refactor is merged, we can eliminate the remaining variable shadowing cases.
* hle: kernel: Migrate to KHandleTable.bunnei2021-05-051-1/+1
|