summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgibbed <rick@gibbed.us>2018-12-03 12:08:22 -0600
committergibbed <rick@gibbed.us>2018-12-03 12:08:22 -0600
commitdcde6308bbdf329e1c9360747b988a17e4de8e26 (patch)
tree75486fe1b99eab213eb7889dc69189933bc12ac5
parent12629fe101b7d8c4dec27b6ea3bf21bf0807b9da (diff)
[Kernel] Simplify KeWaitForMultipleObjects.
-rw-r--r--src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc b/src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc
index 40307c6f6..1d7a9a55e 100644
--- a/src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc
+++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc
@@ -789,8 +789,6 @@ dword_result_t KeWaitForMultipleObjects(dword_t count, lpdword_t objects_ptr,
lpvoid_t wait_block_array_ptr) {
assert_true(wait_type <= 1);
- X_STATUS result = X_STATUS_SUCCESS;
-
std::vector<object_ref<XObject>> objects;
for (uint32_t n = 0; n < count; n++) {
auto object_ptr = kernel_memory()->TranslateVirtual(objects_ptr[n]);
@@ -804,12 +802,10 @@ dword_result_t KeWaitForMultipleObjects(dword_t count, lpdword_t objects_ptr,
}
uint64_t timeout = timeout_ptr ? static_cast<uint64_t>(*timeout_ptr) : 0u;
- result = XObject::WaitMultiple(uint32_t(objects.size()),
- reinterpret_cast<XObject**>(objects.data()),
- wait_type, wait_reason, processor_mode,
- alertable, timeout_ptr ? &timeout : nullptr);
-
- return result;
+ return XObject::WaitMultiple(uint32_t(objects.size()),
+ reinterpret_cast<XObject**>(objects.data()),
+ wait_type, wait_reason, processor_mode,
+ alertable, timeout_ptr ? &timeout : nullptr);
}
DECLARE_XBOXKRNL_EXPORT3(KeWaitForMultipleObjects, kThreading, kImplemented,
kBlocking, kHighFrequency);