module ERRHANDLER (TYPES, CHANNELS) is ------------------------------------------------------------------------------- process ErrHandler [cerri:NullChannel, derri:EnvChannel, timeout:TimeOutChannel, erro:NullChannel, CO:COutChannel] is var b:Bool, e:Env, l:EnvList in b := false; l := {}; loop alt cerri; b := true [] derri (?e); if not (e IsIn l) then l := insert (e, l) end if [] timeout (?any PortNo, ?e); if not (e IsIn l) then l := insert (e, l) end if [] erro; CO (b, l); b := false; l := {} end alt end loop end var end process ------------------------------------------------------------------------------- end module