Hack for testing completion routines - this is not correct.
Assert left in on purpose.
This commit is contained in:
parent
46eedeab01
commit
9ea88ff901
|
@ -339,13 +339,21 @@ void KernelState::CompleteOverlappedEx(uint32_t overlapped_ptr, X_RESULT result,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (XOverlappedGetCompletionRoutine(ptr)) {
|
if (XOverlappedGetCompletionRoutine(ptr)) {
|
||||||
assert_always();
|
|
||||||
X_HANDLE thread_handle = XOverlappedGetContext(ptr);
|
X_HANDLE thread_handle = XOverlappedGetContext(ptr);
|
||||||
XThread* thread = nullptr;
|
XThread* thread = nullptr;
|
||||||
if (XSUCCEEDED(object_table()->GetObject(
|
if (XSUCCEEDED(object_table()->GetObject(
|
||||||
thread_handle, reinterpret_cast<XObject**>(&thread)))) {
|
thread_handle, reinterpret_cast<XObject**>(&thread)))) {
|
||||||
|
uint32_t routine = XOverlappedGetCompletionRoutine(ptr);
|
||||||
|
uint64_t args[] = {
|
||||||
|
result, length, overlapped_ptr,
|
||||||
|
};
|
||||||
// TODO(benvanik): queue APC on the thread that requested the overlapped
|
// TODO(benvanik): queue APC on the thread that requested the overlapped
|
||||||
// operation.
|
// operation.
|
||||||
|
assert_always();
|
||||||
|
// THIS IS WRONG, for testing only:
|
||||||
|
processor()->Execute(XThread::GetCurrentThread()->thread_state(), routine,
|
||||||
|
args, xe::countof(args));
|
||||||
|
|
||||||
thread->Release();
|
thread->Release();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue