summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/svc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/kernel/svc.cpp')
-rw-r--r--src/core/hle/kernel/svc.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp
index f94eecbb8..9d036f45d 100644
--- a/src/core/hle/kernel/svc.cpp
+++ b/src/core/hle/kernel/svc.cpp
@@ -26,6 +26,7 @@
26#include "core/hle/kernel/handle_table.h" 26#include "core/hle/kernel/handle_table.h"
27#include "core/hle/kernel/k_address_arbiter.h" 27#include "core/hle/kernel/k_address_arbiter.h"
28#include "core/hle/kernel/k_condition_variable.h" 28#include "core/hle/kernel/k_condition_variable.h"
29#include "core/hle/kernel/k_event.h"
29#include "core/hle/kernel/k_readable_event.h" 30#include "core/hle/kernel/k_readable_event.h"
30#include "core/hle/kernel/k_resource_limit.h" 31#include "core/hle/kernel/k_resource_limit.h"
31#include "core/hle/kernel/k_scheduler.h" 32#include "core/hle/kernel/k_scheduler.h"
@@ -1870,18 +1871,18 @@ static ResultCode CreateEvent(Core::System& system, Handle* write_handle, Handle
1870 LOG_DEBUG(Kernel_SVC, "called"); 1871 LOG_DEBUG(Kernel_SVC, "called");
1871 1872
1872 auto& kernel = system.Kernel(); 1873 auto& kernel = system.Kernel();
1873 const auto [readable_event, writable_event] = 1874 const auto event = KEvent::Create(kernel, "CreateEvent");
1874 KWritableEvent::CreateEventPair(kernel, "CreateEvent"); 1875 event->Initialize();
1875 1876
1876 HandleTable& handle_table = kernel.CurrentProcess()->GetHandleTable(); 1877 HandleTable& handle_table = kernel.CurrentProcess()->GetHandleTable();
1877 1878
1878 const auto write_create_result = handle_table.Create(writable_event); 1879 const auto write_create_result = handle_table.Create(event->GetWritableEvent());
1879 if (write_create_result.Failed()) { 1880 if (write_create_result.Failed()) {
1880 return write_create_result.Code(); 1881 return write_create_result.Code();
1881 } 1882 }
1882 *write_handle = *write_create_result; 1883 *write_handle = *write_create_result;
1883 1884
1884 const auto read_create_result = handle_table.Create(readable_event); 1885 const auto read_create_result = handle_table.Create(event->GetReadableEvent());
1885 if (read_create_result.Failed()) { 1886 if (read_create_result.Failed()) {
1886 handle_table.Close(*write_create_result); 1887 handle_table.Close(*write_create_result);
1887 return read_create_result.Code(); 1888 return read_create_result.Code();