diff options
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) { | |||
| 92 | 92 | ||
| 93 | /// Synchronize to an OS service | 93 | /// Synchronize to an OS service |
| 94 | Result SendSyncRequest(Handle handle) { | 94 | Result SendSyncRequest(Handle handle) { |
| 95 | bool wait = false; | ||
| 95 | Kernel::Object* object = Kernel::g_object_pool.GetFast<Kernel::Object>(handle); | 96 | Kernel::Object* object = Kernel::g_object_pool.GetFast<Kernel::Object>(handle); |
| 97 | |||
| 96 | DEBUG_LOG(SVC, "SendSyncRequest called handle=0x%08X"); | 98 | DEBUG_LOG(SVC, "SendSyncRequest called handle=0x%08X"); |
| 97 | _assert_msg_(KERNEL, object, "SendSyncRequest called, but kernel object is NULL!"); | 99 | _assert_msg_(KERNEL, object, "SendSyncRequest called, but kernel object is NULL!"); |
| 98 | object->SyncRequest(); | 100 | |
| 99 | return 0; | 101 | Result res = object->SyncRequest(&wait); |
| 102 | if (wait) { | ||
| 103 | Kernel::WaitCurrentThread(WAITTYPE_SYNCH); // TODO(bunnei): Is this correct? | ||
| 104 | } | ||
| 105 | |||
| 106 | return res; | ||
| 100 | } | 107 | } |
| 101 | 108 | ||
| 102 | /// Close a handle | 109 | /// Close a handle |