diff options
author | bunnei <ericbunnie@gmail.com> | 2014-05-26 22:12:46 -0400 |
---|---|---|
committer | bunnei <ericbunnie@gmail.com> | 2014-05-26 22:12:46 -0400 |
commit | 58a3adcdd2eed9d31cd441186af872a0a8924e73 (patch) | |
tree | 65dc8f4a1c26151ce027558ecdf886cb0beeb67b /src/core/hle/svc.cpp | |
parent | 6e51c56fe41c3ff38db3a13e8773a9e9b2103377 (diff) |
kernel: updated SyncRequest to take boolean thread wait result as a parameter
Diffstat (limited to 'src/core/hle/svc.cpp')
-rw-r--r-- | src/core/hle/svc.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/core/hle/svc.cpp b/src/core/hle/svc.cpp index 6f72a6eb7..e566036e5 100644 --- a/src/core/hle/svc.cpp +++ b/src/core/hle/svc.cpp @@ -92,11 +92,18 @@ Result ConnectToPort(void* out, const char* port_name) { /// Synchronize to an OS service Result SendSyncRequest(Handle handle) { + bool wait = false; Kernel::Object* object = Kernel::g_object_pool.GetFast<Kernel::Object>(handle); + DEBUG_LOG(SVC, "SendSyncRequest called handle=0x%08X"); _assert_msg_(KERNEL, object, "SendSyncRequest called, but kernel object is NULL!"); - object->SyncRequest(); - return 0; + + Result res = object->SyncRequest(&wait); + if (wait) { + Kernel::WaitCurrentThread(WAITTYPE_SYNCH); // TODO(bunnei): Is this correct? + } + + return res; } /// Close a handle |