|
|
|
@ -147,7 +147,7 @@ Result WaitSynchronization1(Handle handle, s64 nano_seconds) {
|
|
|
|
|
Result WaitSynchronizationN(void* _out, void* _handles, u32 handle_count, u32 wait_all,
|
|
|
|
|
s64 nano_seconds) {
|
|
|
|
|
// TODO(bunnei): Do something with nano_seconds, currently ignoring this
|
|
|
|
|
|
|
|
|
|
s32* out = (s32*)_out;
|
|
|
|
|
Handle* handles = (Handle*)_handles;
|
|
|
|
|
bool unlock_all = true;
|
|
|
|
|
|
|
|
|
@ -167,7 +167,7 @@ Result WaitSynchronizationN(void* _out, void* _handles, u32 handle_count, u32 wa
|
|
|
|
|
Result res = object->WaitSynchronization(&wait);
|
|
|
|
|
|
|
|
|
|
if (!wait && !wait_all) {
|
|
|
|
|
Core::g_app_core->SetReg(1, i);
|
|
|
|
|
*out = i;
|
|
|
|
|
return 0;
|
|
|
|
|
} else {
|
|
|
|
|
unlock_all = false;
|
|
|
|
@ -175,7 +175,7 @@ Result WaitSynchronizationN(void* _out, void* _handles, u32 handle_count, u32 wa
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (wait_all && unlock_all) {
|
|
|
|
|
Core::g_app_core->SetReg(1, handle_count);
|
|
|
|
|
*out = handle_count;
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|