diff options
| author | 2015-02-02 13:04:04 -0500 | |
|---|---|---|
| committer | 2015-02-02 13:04:04 -0500 | |
| commit | 7f730ed158bc9bba064100b9644b318134ef0bb3 (patch) | |
| tree | c4181a69ff882e1af1b7d65bf3596a6cb3dd88b9 /src/core/hle/service/srv.cpp | |
| parent | Merge pull request #517 from bunnei/blend-factors (diff) | |
| parent | Kernel: Stop creating useless Handles during object creation (diff) | |
| download | yuzu-7f730ed158bc9bba064100b9644b318134ef0bb3.tar.gz yuzu-7f730ed158bc9bba064100b9644b318134ef0bb3.tar.xz yuzu-7f730ed158bc9bba064100b9644b318134ef0bb3.zip | |
Merge pull request #523 from yuriks/kernel-lifetime5
Kernel Lifetime Reform Pt. 5: The Reckoning
Diffstat (limited to 'src/core/hle/service/srv.cpp')
| -rw-r--r-- | src/core/hle/service/srv.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/core/hle/service/srv.cpp b/src/core/hle/service/srv.cpp index aa0aac3bb..cc59a03ce 100644 --- a/src/core/hle/service/srv.cpp +++ b/src/core/hle/service/srv.cpp | |||
| @@ -23,7 +23,7 @@ static void GetProcSemaphore(Service::Interface* self) { | |||
| 23 | u32* cmd_buff = Kernel::GetCommandBuffer(); | 23 | u32* cmd_buff = Kernel::GetCommandBuffer(); |
| 24 | 24 | ||
| 25 | // TODO(bunnei): Change to a semaphore once these have been implemented | 25 | // TODO(bunnei): Change to a semaphore once these have been implemented |
| 26 | event_handle = Kernel::Event::Create(RESETTYPE_ONESHOT, "SRV:Event").MoveFrom(); | 26 | event_handle = Kernel::Event::Create(RESETTYPE_ONESHOT, "SRV:Event"); |
| 27 | event_handle->Clear(); | 27 | event_handle->Clear(); |
| 28 | 28 | ||
| 29 | cmd_buff[1] = 0; // No error | 29 | cmd_buff[1] = 0; // No error |
| @@ -35,10 +35,10 @@ static void GetServiceHandle(Service::Interface* self) { | |||
| 35 | u32* cmd_buff = Kernel::GetCommandBuffer(); | 35 | u32* cmd_buff = Kernel::GetCommandBuffer(); |
| 36 | 36 | ||
| 37 | std::string port_name = std::string((const char*)&cmd_buff[1], 0, Service::kMaxPortSize); | 37 | std::string port_name = std::string((const char*)&cmd_buff[1], 0, Service::kMaxPortSize); |
| 38 | Service::Interface* service = Service::g_manager->FetchFromPortName(port_name); | 38 | auto it = Service::g_srv_services.find(port_name); |
| 39 | 39 | ||
| 40 | if (nullptr != service) { | 40 | if (it != Service::g_srv_services.end()) { |
| 41 | cmd_buff[3] = service->GetHandle(); | 41 | cmd_buff[3] = Kernel::g_handle_table.Create(it->second).MoveFrom(); |
| 42 | LOG_TRACE(Service_SRV, "called port=%s, handle=0x%08X", port_name.c_str(), cmd_buff[3]); | 42 | LOG_TRACE(Service_SRV, "called port=%s, handle=0x%08X", port_name.c_str(), cmd_buff[3]); |
| 43 | } else { | 43 | } else { |
| 44 | LOG_ERROR(Service_SRV, "(UNIMPLEMENTED) called port=%s", port_name.c_str()); | 44 | LOG_ERROR(Service_SRV, "(UNIMPLEMENTED) called port=%s", port_name.c_str()); |
| @@ -63,7 +63,7 @@ const Interface::FunctionInfo FunctionTable[] = { | |||
| 63 | // Interface class | 63 | // Interface class |
| 64 | 64 | ||
| 65 | Interface::Interface() { | 65 | Interface::Interface() { |
| 66 | Register(FunctionTable, ARRAY_SIZE(FunctionTable)); | 66 | Register(FunctionTable); |
| 67 | } | 67 | } |
| 68 | 68 | ||
| 69 | } // namespace | 69 | } // namespace |