-- File: [Indigo]<Sakura>Dragon>DragonClockImpl.sak -- 7-Mar-82 21:10:05 DIRECTORY DragonClock: TYPE, SakuraRT: TYPE; DragonClockImpl: MONITOR IMPORTS SakuraRT EXPORTS DragonClock = BEGIN ClockGenerator: PUBLIC PROC [ClockA, ClockB: SakuraRT.Handle] = { i: CARDINAL ← 0; v: CARDINAL; {ENABLE {ABORTED => GO TO Aborted}; DO SakuraRT.Put[ClockB, NEW[BOOLEAN ← FALSE]]; SakuraRT.Put[ClockA, NEW[BOOLEAN ← TRUE]]; SakuraRT.Delay[50]; i ← i + 1; v ← i * 50; SakuraRT.Put[ClockA, NEW[BOOLEAN ← FALSE]]; SakuraRT.Put[ClockB, NEW[BOOLEAN ← TRUE]]; SakuraRT.Delay[50]; i ← i + 1; v ← i * 50 ENDLOOP; SakuraRT.ProcessEnd[]} EXITS Aborted => SakuraRT.Abort[]}; END.