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

Ulm's Oberon Library:


Signals - global conditions


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);


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.


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