#[non_exhaustive]pub enum WaitOutcome {
Signalled,
Abandoned,
TimedOut,
Alerted,
}Expand description
How a wait that did not fail ended.
Non-exhaustive, so a wait that can end another way can be added.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Signalled
The object was signalled, and the wait has taken whatever a signalled object gives: an auto-reset event is unsignalled again, a mutex is owned by the waiting thread, a semaphore’s count is one lower.
Abandoned
The object is a mutex whose owner ended without releasing it. The waiting thread owns it now, and whatever it protected may be inconsistent. No other kind of object ends a wait this way, but the wait is over any handle, so a caller that cannot rule the handle out cannot ignore it.
TimedOut
The timeout passed with the object not signalled.
Alerted
An alertable wait was ended by an APC queued to the thread, which has run. Only a wait made
Alertable::Yes ends this way. The object was not waited for: nothing was taken from
it, so the caller waits again if it still needs it.