mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2025-07-22 12:45:44 +00:00
Kernel: Corrected the implementation of svcArbitrateLock and svcArbitrateUnlock.
Switch mutexes are no longer kernel objects, they are managed in userland and only use the kernel to handle the contention case. Mutex addresses store a special flag value (0x40000000) to notify the guest code that there are still some threads waiting for the mutex to be released. This flag is updated when a thread calls ArbitrateUnlock. TODO: * Fix svcWaitProcessWideKey * Fix svcSignalProcessWideKey * Remove the Mutex class.
This commit is contained in:
parent
c2adb07b55
commit
4e47dd5b59
6 changed files with 126 additions and 22 deletions
|
@ -20,6 +20,7 @@ enum {
|
|||
MaxConnectionsReached = 52,
|
||||
|
||||
// Confirmed Switch OS error codes
|
||||
MisalignedAddress = 102,
|
||||
InvalidHandle = 114,
|
||||
Timeout = 117,
|
||||
SynchronizationCanceled = 118,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue