summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Lioncash2018-08-25 05:44:51 -0400
committerGravatar Lioncash2018-08-25 09:40:21 -0400
commit81ca46dd17dafa2a474a6f8eed748d604516034d (patch)
treeebec2110b01f8a243d0834828ebad7ef50ab5ac1 /src
parentkernel/error: Add error code for invalid memory permissions (diff)
downloadyuzu-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.h4
-rw-r--r--src/core/hle/kernel/handle_table.cpp2
-rw-r--r--src/core/hle/kernel/handle_table.h2
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 {
11namespace ErrCodes { 11namespace ErrCodes {
12enum { 12enum {
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
40constexpr ResultCode ERR_OUT_OF_HANDLES(-1); 40constexpr ResultCode ERR_HANDLE_TABLE_FULL(ErrorModule::Kernel, ErrCodes::HandleTableFull);
41constexpr ResultCode ERR_SESSION_CLOSED_BY_REMOTE(-1); 41constexpr ResultCode ERR_SESSION_CLOSED_BY_REMOTE(-1);
42constexpr ResultCode ERR_PORT_NAME_TOO_LONG(-1); 42constexpr ResultCode ERR_PORT_NAME_TOO_LONG(-1);
43constexpr ResultCode ERR_MAX_CONNECTIONS_REACHED(-1); 43constexpr 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