A system is described for controlling co-scheduling of processes in a
computer comprising at least one process and a spin daemon. The process,
when it is waiting for a flag to change condition, transmits a flag
monitor request to the spin daemon and enables itself to be de-scheduled.
The spin daemon, after receiving a flag monitor request, monitors the
flag and, after the flag changes condition, enables the process to be
re-scheduled for execution by the computer. Since the spin daemon can
monitor flags for a number of processes, the ones of the processes that
are waiting will not need to be executed, allowing other processes that
are not just waiting to be processed more often.