yield(9)

yield9

Yield the current processor to other threads.

Usage

void __sched yield(void);

Arguments

void

no arguments

Overview

Do not ever use this function, there's a 99% chance you're doing it wrong.

The scheduler is at all times free to pick the calling task as the most eligible task to run, if removing the yield call from your code breaks it, its already broken.

Typical broken usage is

while (!event) yield;

where one assumes that yield will let 'the other' process run that will make event true. If the current task is a SCHED_FIFO task that will never happen. Never use yield as a progress guarantee!!

If you want to use yield to wait for something, use wait_event. If you want to use yield to be 'nice' for others, use cond_resched. If you still want to use yield, do not!

Releases

5 releases since Debian 4.0 (Etch); the text changed 4 times.

  1. 4.0
  2. 5.0
  3. 6.0
  4. 7
  5. 8

From linux-manual-3.16 3.16.56-1+deb8u1 in Debian 8 (Jessie). Parsed by carta from the page's man source.