summaryrefslogtreecommitdiffstats
path: root/src/core/hle
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2014-07-22 03:25:35 +0200
committerbunnei <bunneidev@gmail.com>2014-08-06 05:54:27 +0200
commit1b247b80312349fcc3790a6f0705f214ab999364 (patch)
tree1c4a5d586fee120262df40d6cc7bb10247eed748 /src/core/hle
parentSVC: Removed ArbitrateAddress log message that spams to much. (diff)
downloadyuzu-1b247b80312349fcc3790a6f0705f214ab999364.tar
yuzu-1b247b80312349fcc3790a6f0705f214ab999364.tar.gz
yuzu-1b247b80312349fcc3790a6f0705f214ab999364.tar.bz2
yuzu-1b247b80312349fcc3790a6f0705f214ab999364.tar.lz
yuzu-1b247b80312349fcc3790a6f0705f214ab999364.tar.xz
yuzu-1b247b80312349fcc3790a6f0705f214ab999364.tar.zst
yuzu-1b247b80312349fcc3790a6f0705f214ab999364.zip
Diffstat (limited to 'src/core/hle')
-rw-r--r--src/core/hle/service/srv.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/core/hle/service/srv.cpp b/src/core/hle/service/srv.cpp
index f45c0efc2..8f8413d02 100644
--- a/src/core/hle/service/srv.cpp
+++ b/src/core/hle/service/srv.cpp
@@ -5,28 +5,30 @@
#include "core/hle/hle.h"
#include "core/hle/service/srv.h"
#include "core/hle/service/service.h"
-#include "core/hle/kernel/mutex.h"
+#include "core/hle/kernel/event.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace SRV
namespace SRV {
-Handle g_mutex = 0;
+Handle g_event_handle = 0;
void Initialize(Service::Interface* self) {
DEBUG_LOG(OSHLE, "called");
- if (!g_mutex) {
- g_mutex = Kernel::CreateMutex(true, "SRV:Lock");
- }
}
void GetProcSemaphore(Service::Interface* self) {
DEBUG_LOG(OSHLE, "called");
- // Get process semaphore?
+
u32* cmd_buff = Service::GetCommandBuffer();
- cmd_buff[1] = 0; // No error
- cmd_buff[3] = g_mutex; // Return something... 0 == nullptr, raises an exception
+
+ // TODO(bunnei): Change to a semaphore once these have been implemented
+ g_event_handle = Kernel::CreateEvent(RESETTYPE_ONESHOT, "SRV:Event");
+ Kernel::SetEventLocked(g_event_handle, false);
+
+ cmd_buff[1] = 0; // No error
+ cmd_buff[3] = g_event_handle;
}
void GetServiceHandle(Service::Interface* self) {