summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/svc.cpp14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/core/hle/svc.cpp b/src/core/hle/svc.cpp
index 1a0c07cb9..8bfa1428e 100644
--- a/src/core/hle/svc.cpp
+++ b/src/core/hle/svc.cpp
@@ -131,9 +131,8 @@ static ResultCode SendSyncRequest(Handle handle) {
/// Close a handle
static ResultCode CloseHandle(Handle handle) {
- // ImplementMe
- LOG_ERROR(Kernel_SVC, "(UNIMPLEMENTED) called handle=0x%08X", handle);
- return RESULT_SUCCESS;
+ LOG_TRACE(Kernel_SVC, "Closing handle 0x%08X", handle);
+ return Kernel::g_handle_table.Close(handle);
}
/// Wait for a handle to synchronize, timeout after the specified nanoseconds
@@ -445,12 +444,9 @@ static ResultCode CreateEvent(Handle* out_handle, u32 reset_type) {
/// Duplicates a kernel handle
static ResultCode DuplicateHandle(Handle* out, Handle handle) {
- ResultVal<Handle> out_h = Kernel::g_handle_table.Duplicate(handle);
- if (out_h.Succeeded()) {
- *out = *out_h;
- LOG_TRACE(Kernel_SVC, "duplicated 0x%08X to 0x%08X", handle, *out);
- }
- return out_h.Code();
+ CASCADE_RESULT(*out, Kernel::g_handle_table.Duplicate(handle));
+ LOG_TRACE(Kernel_SVC, "duplicated 0x%08X to 0x%08X", handle, *out);
+ return RESULT_SUCCESS;
}
/// Signals an event