|
|
@ -165,11 +165,14 @@ static ResultCode WaitSynchronization(Handle* index, VAddr handles_address, u64
|
|
|
|
using ObjectPtr = SharedPtr<WaitObject>;
|
|
|
|
using ObjectPtr = SharedPtr<WaitObject>;
|
|
|
|
std::vector<ObjectPtr> objects(handle_count);
|
|
|
|
std::vector<ObjectPtr> objects(handle_count);
|
|
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < handle_count; ++i) {
|
|
|
|
for (u64 i = 0; i < handle_count; ++i) {
|
|
|
|
Handle handle = Memory::Read32(handles_address + i * sizeof(Handle));
|
|
|
|
const Handle handle = Memory::Read32(handles_address + i * sizeof(Handle));
|
|
|
|
auto object = g_handle_table.Get<WaitObject>(handle);
|
|
|
|
const auto object = g_handle_table.Get<WaitObject>(handle);
|
|
|
|
if (object == nullptr)
|
|
|
|
|
|
|
|
|
|
|
|
if (object == nullptr) {
|
|
|
|
return ERR_INVALID_HANDLE;
|
|
|
|
return ERR_INVALID_HANDLE;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
objects[i] = object;
|
|
|
|
objects[i] = object;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|