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


Ulm's Oberon Library:
SysInterrupts


NAME

SysInterrupts - interrupt nest level of coroutines

SYNOPSIS

VAR interrupts: INTEGER; (* current sum of all coroutines *)


PROCEDURE GetNumberOfInterrupts(cr: Coroutines.Coroutine) : INTEGER; PROCEDURE IncNumberOfInterrupts(cr: Coroutines.Coroutine); PROCEDURE DecNumberOfInterrupts(cr: Coroutines.Coroutine);

DESCRIPTION

SysInterrupts maintains the per-coroutine interrupt nest level. Interrupts are asynchronous events of SysSignals. This information is primarily needed by copying garbage collectors to check whether a coroutine is in a traceable state or not. GetNumberOfInterrupts returns the current nest level of interrupts of cr. The sum of all nest levels of all currently active coroutines is maintained in interrupts.

IncNumberOfInterrupts and DecNumberOfInterrupts allow to modify the interrupt nest level information of cr. Note that the nest level is usually maintained by the runtime system.

SEE ALSO

Coroutines
interface to coroutines
SysSignals
asynchronous events
SysStorage
garbage collector

Edited by: borchert, last change: 1995/03/13, revision: 1.1, converted to HTML: 1997/04/28

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