Always forward Xbox KeWaitForMultipleObjects to Windows KeWaitForMultipleObjects

KeWaitForMultipleObjects does support a count of 1, so there is no need for this extra check!
This commit is contained in:
Luke Usher 2017-07-21 22:28:45 +01:00
parent 5ab5ee21b6
commit 5b643e767c
1 changed files with 7 additions and 18 deletions

View File

@ -1673,24 +1673,13 @@ XBSYSAPI EXPORTNUM(158) xboxkrnl::NTSTATUS NTAPI xboxkrnl::KeWaitForMultipleObje
// TODO : What should we do with the (currently ignored) // TODO : What should we do with the (currently ignored)
// WaitReason, WaitMode, WaitBlockArray? // WaitReason, WaitMode, WaitBlockArray?
if (Count == 1) // Unused arguments : WaitReason, WaitMode, WaitBlockArray
{ ret = NtDll::NtWaitForMultipleObjects(
// Note : WaitType is irrelevant here Count,
ret = NtDll::NtWaitForSingleObject( Object,
Object[0], (NtDll::OBJECT_WAIT_TYPE)WaitType,
Alertable, Alertable,
(NtDll::PLARGE_INTEGER)Timeout); (NtDll::PLARGE_INTEGER)Timeout);
DbgPrintf("Finished waiting for 0x%.08X\n", Object[0]);
}
else
// Unused arguments : WaitReason, WaitMode, WaitBlockArray
ret = NtDll::NtWaitForMultipleObjects(
Count,
Object,
(NtDll::OBJECT_WAIT_TYPE)WaitType,
Alertable,
(NtDll::PLARGE_INTEGER)Timeout);
if (FAILED(ret)) if (FAILED(ret))
EmuWarning("KeWaitForMultipleObjects failed! (%s)", NtStatusToString(ret)); EmuWarning("KeWaitForMultipleObjects failed! (%s)", NtStatusToString(ret));