NtSignalAndWaitForSingleObjectEx (untested).

This commit is contained in:
Ben Vanik
2014-01-07 00:28:48 -08:00
parent 9aa2f204f5
commit 40ca0bcb76
3 changed files with 61 additions and 0 deletions

View File

@@ -113,6 +113,22 @@ X_STATUS XObject::Wait(uint32_t wait_reason, uint32_t processor_mode,
}
}
X_STATUS XObject::SignalAndWait(
XObject* signal_object, XObject* wait_object,
uint32_t wait_reason, uint32_t processor_mode, uint32_t alertable,
uint64_t* opt_timeout) {
DWORD timeout_ms = opt_timeout ?
ConvertTimeoutTicks(*opt_timeout) : INFINITE;
DWORD result = SignalObjectAndWait(
signal_object->GetWaitHandle(),
wait_object->GetWaitHandle(),
timeout_ms,
alertable ? TRUE : FALSE);
return result;
}
X_STATUS XObject::WaitMultiple(
uint32_t count, XObject** objects,
uint32_t wait_type, uint32_t wait_reason, uint32_t processor_mode,