Why not `thread_yield`? Even the new process has a lower priority, the caller should still go to sleep.