|
ReXGlue SDK
|
#include <rex/kernel/thread_registry.h>
Public Member Functions | |
| virtual rex::platform::WaitResult | WaitHostObject (rex::platform::WaitHandle *handle, std::chrono::milliseconds timeout)=0 |
| virtual X_STATUS | WaitGuestObject (X_HANDLE handle, u32 wait_reason, u32 processor_mode, u32 alertable, u64 *opt_timeout)=0 |
| virtual X_STATUS | WaitGuestObjects (std::span< const X_HANDLE > handles, u32 wait_type, u32 wait_reason, u32 processor_mode, u32 alertable, u64 *opt_timeout)=0 |
| virtual rex::platform::WaitResult | WaitHostSockets (std::span< const rex::platform::SocketWait > sockets, std::chrono::milliseconds timeout)=0 |
Waits on host and guest objects for XAM. A wait on a guest thread throws ThreadStop when the thread must stop.
|
pure virtual |
Waits on the object a guest handle names, succeeding at once for a type without a wait handle.
| handle | The handle, pseudo handles are translated. |
| alertable | Nonzero when a user APC ends the wait. |
| opt_timeout | The timeout in 100 nanosecond ticks, null to wait forever. |
|
pure virtual |
Waits on the objects several guest handles name, as NtWaitForMultipleObjectsEx does. Delivers the pending user APCs when an alertable wait ends with X_STATUS_USER_APC.
| handles | The handles, pseudo handles are translated. |
| wait_type | 0 to wait for any object, 1 to wait for all of them. |
| alertable | Nonzero when a user APC ends the wait. |
| opt_timeout | The timeout in 100 nanosecond ticks, null to wait forever. |
|
pure virtual |
On a guest thread a stop request throws ThreadStop, and any other wake resumes the wait for the time left.
| timeout | The longest wait, milliseconds::max() for no limit. |
|
pure virtual |
Waits until a socket may be ready, with the stop behavior of WaitHostObject.
| timeout | The longest wait, milliseconds::max() for no limit. |