Oberon || Library || Module Index || Search Engine || Definition || Module


Ulm's Oberon Library:
Signals


NAME

Signals - global conditions

SYNOPSIS

TYPE Signal = POINTER TO SignalRec;
TYPE SignalRec = RECORD (Disciplines.ObjectRec) END;


PROCEDURE Create(VAR signal: Signal); PROCEDURE Init(signal: Signal); PROCEDURE CreateCondition(VAR condition: Conditions.Condition; signal: Signal); PROCEDURE Raise(signal: Signal); PROCEDURE Raised(signal: Signal) : BOOLEAN; PROCEDURE WaitFor(signal: Signal);

DESCRIPTION

Signals represent flags which are initially FALSE, and which at maximum have one transition from FALSE to TRUE. They never switch back from TRUE to FALSE.

Signals can be created using Create or, if an extension of Signal is used, initialized by Init. Raised returns the current state of the signal.

Raise sets the signal to TRUE. Multiple invocations of Raise for the same signal are permitted.

CreateCondition creates a condition that allows to wait for signal to become TRUE. WaitFor is a shortcut for the simple combination of CreateCondition and a corresponding Tasks.WaitFor.

SEE ALSO

Conditions
general interface for wait conditions

Edited by: borchert, last change: 2004/02/19, revision: 1.1, converted to HTML: 2004/02/19

Oberon || Library || Module Index || Search Engine || Definition || Module