On Fri, 22 Feb 2013, Eero Tamminen wrote:
*
https://github.com/ArmstrongJ/MiNTLib/commit/6d188b1f756a09382b80477a043f8e4b8749189c
Does usleep(1) sched_yield implementation allow other threads to be
scheduled? Or is that small loop done in-process in usleep() for
performance reasons?
That's really an issue for the kernel itself. In theory, when a
process sleeps, the kernel should recognize this and switch tasks.
I'm guessing that a GNU/Linux sched_yield() implementation might do
something fancier, but just going idle for a moment should allow the
OS to switch tasks. I saw this simple solution in a few
implementations for other alternative OSes.