summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYuri Kunde Schlesner <yuriks@yuriks.net>2015-01-31 19:12:54 +0100
committerYuri Kunde Schlesner <yuriks@yuriks.net>2015-02-02 18:37:04 +0100
commitc4208c1171afe5522f1237480a49aac855313ff8 (patch)
tree1cdc97dbf232759d42ca90963e5eb7aacfac82f4
parentKernel: Fix bug in HandleTable::Close (diff)
downloadyuzu-c4208c1171afe5522f1237480a49aac855313ff8.tar
yuzu-c4208c1171afe5522f1237480a49aac855313ff8.tar.gz
yuzu-c4208c1171afe5522f1237480a49aac855313ff8.tar.bz2
yuzu-c4208c1171afe5522f1237480a49aac855313ff8.tar.lz
yuzu-c4208c1171afe5522f1237480a49aac855313ff8.tar.xz
yuzu-c4208c1171afe5522f1237480a49aac855313ff8.tar.zst
yuzu-c4208c1171afe5522f1237480a49aac855313ff8.zip
-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