-- File: [Indigo]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.