diff options
| author | 2018-08-25 05:44:51 -0400 | |
|---|---|---|
| committer | 2018-08-25 09:40:21 -0400 | |
| commit | 81ca46dd17dafa2a474a6f8eed748d604516034d (patch) | |
| tree | ebec2110b01f8a243d0834828ebad7ef50ab5ac1 /src | |
| parent | kernel/error: Add error code for invalid memory permissions (diff) | |
| download | yuzu-81ca46dd17dafa2a474a6f8eed748d604516034d.tar.gz yuzu-81ca46dd17dafa2a474a6f8eed748d604516034d.tar.xz yuzu-81ca46dd17dafa2a474a6f8eed748d604516034d.zip | |
kernel/error: Add error code for the handle table being full
This replaces the lingering 3DS constant with the proper one, and
utilizes it within HandleTable's Create() member function.
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/kernel/errors.h | 4 | ||||
| -rw-r--r-- | src/core/hle/kernel/handle_table.cpp | 2 | ||||
| -rw-r--r-- | src/core/hle/kernel/handle_table.h | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/src/core/hle/kernel/errors.h b/src/core/hle/kernel/errors.h index 8b4e05191..59c5c2a67 100644 --- a/src/core/hle/kernel/errors.h +++ b/src/core/hle/kernel/errors.h | |||
| @@ -11,7 +11,6 @@ namespace Kernel { | |||
| 11 | namespace ErrCodes { | 11 | namespace ErrCodes { |
| 12 | enum { | 12 | enum { |
| 13 | // TODO(Subv): Remove these 3DS OS error codes. | 13 | // TODO(Subv): Remove these 3DS OS error codes. |
| 14 | OutOfHandles = 19, | ||
| 15 | SessionClosedByRemote = 26, | 14 | SessionClosedByRemote = 26, |
| 16 | PortNameTooLong = 30, | 15 | PortNameTooLong = 30, |
| 17 | NoPendingSessions = 35, | 16 | NoPendingSessions = 35, |
| @@ -20,6 +19,7 @@ enum { | |||
| 20 | 19 | ||
| 21 | // Confirmed Switch OS error codes | 20 | // Confirmed Switch OS error codes |
| 22 | InvalidAddress = 102, | 21 | InvalidAddress = 102, |
| 22 | HandleTableFull = 105, | ||
| 23 | InvalidMemoryState = 106, | 23 | InvalidMemoryState = 106, |
| 24 | InvalidMemoryPermissions = 108, | 24 | InvalidMemoryPermissions = 108, |
| 25 | InvalidProcessorId = 113, | 25 | InvalidProcessorId = 113, |
| @@ -37,7 +37,7 @@ enum { | |||
| 37 | // double check that the code matches before re-using the constant. | 37 | // double check that the code matches before re-using the constant. |
| 38 | 38 | ||
| 39 | // TODO(bunnei): Replace these with correct errors for Switch OS | 39 | // TODO(bunnei): Replace these with correct errors for Switch OS |
| 40 | constexpr ResultCode ERR_OUT_OF_HANDLES(-1); | 40 | constexpr ResultCode ERR_HANDLE_TABLE_FULL(ErrorModule::Kernel, ErrCodes::HandleTableFull); |
| 41 | constexpr ResultCode ERR_SESSION_CLOSED_BY_REMOTE(-1); | 41 | constexpr ResultCode ERR_SESSION_CLOSED_BY_REMOTE(-1); |
| 42 | constexpr ResultCode ERR_PORT_NAME_TOO_LONG(-1); | 42 | constexpr ResultCode ERR_PORT_NAME_TOO_LONG(-1); |
| 43 | constexpr ResultCode ERR_MAX_CONNECTIONS_REACHED(-1); | 43 | constexpr ResultCode ERR_MAX_CONNECTIONS_REACHED(-1); |
diff --git a/src/core/hle/kernel/handle_table.cpp b/src/core/hle/kernel/handle_table.cpp index 28e21428a..6d9f7a02b 100644 --- a/src/core/hle/kernel/handle_table.cpp +++ b/src/core/hle/kernel/handle_table.cpp | |||
| @@ -26,7 +26,7 @@ ResultVal<Handle> HandleTable::Create(SharedPtr<Object> obj) { | |||
| 26 | u16 slot = next_free_slot; | 26 | u16 slot = next_free_slot; |
| 27 | if (slot >= generations.size()) { | 27 | if (slot >= generations.size()) { |
| 28 | LOG_ERROR(Kernel, "Unable to allocate Handle, too many slots in use."); | 28 | LOG_ERROR(Kernel, "Unable to allocate Handle, too many slots in use."); |
| 29 | return ERR_OUT_OF_HANDLES; | 29 | return ERR_HANDLE_TABLE_FULL; |
| 30 | } | 30 | } |
| 31 | next_free_slot = generations[slot]; | 31 | next_free_slot = generations[slot]; |
| 32 | 32 | ||
diff --git a/src/core/hle/kernel/handle_table.h b/src/core/hle/kernel/handle_table.h index 22ddda630..aee3583e8 100644 --- a/src/core/hle/kernel/handle_table.h +++ b/src/core/hle/kernel/handle_table.h | |||
| @@ -47,7 +47,7 @@ public: | |||
| 47 | /** | 47 | /** |
| 48 | * Allocates a handle for the given object. | 48 | * Allocates a handle for the given object. |
| 49 | * @return The created Handle or one of the following errors: | 49 | * @return The created Handle or one of the following errors: |
| 50 | * - `ERR_OUT_OF_HANDLES`: the maximum number of handles has been exceeded. | 50 | * - `ERR_HANDLE_TABLE_FULL`: the maximum number of handles has been exceeded. |
| 51 | */ | 51 | */ |
| 52 | ResultVal<Handle> Create(SharedPtr<Object> obj); | 52 | ResultVal<Handle> Create(SharedPtr<Object> obj); |
| 53 | 53 | ||