| Previous | Next |
| ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE | ERROR_TIMER_RESUME_IGNORED |
ERROR_NO_YIELD_PERFORMED
A yield request found no other runnable thread
ERROR_NO_YIELD_PERFORMED corresponds to Win32 error value documented as: A yield execution was performed and no thread was available to run. The scheduler accepted a yield-style request but there was no eligible thread to run, so execution could not be handed off as anticipated. This is generally a scheduling observation, not evidence of system failure.
Where the result appears in real systems
- Low-level synchronization loops.
- Compatibility code using yield as a backoff mechanism.
- Diagnostics around SwitchToThread-like behavior.
What to collect before making changes
Record CPU count, thread priority, affinity mask, and contention state; inspect whether the loop has a real blocking primitive available; use ETW scheduler traces when high CPU usage accompanies repeated yields.
Handling and recovery
Do not treat yielding as guaranteed progress. Replace busy loops with events, condition variables, waits, or bounded exponential backoff when another thread must produce work.
What not to infer from this code
This result differs from a wait timeout: the caller did not block for an interval; it merely found no runnable peer to receive the processor.
References
Looking for a different code? Search another status or error code.
