COsystem: obj
System: LIB.BasicSystem.basicSystem
semaphore:
%globals P_status,SQS
init:
wait:
theActive: ref BasicProcess
signal:
P: ref BasicProcess
cnt: var integer
M: obj Lock
Q: obj ProcessQueue
Process: BasicProcess
%globals #Process,SQS,P_status
%interface start,entry
start::
-- insert into SQS
P: ref Process
entry:
%arguments #Process,immutable,unique
accept:
doAccept:
stop:< entry
mutex: obj Semaphore
M: obj Semaphore
doStop: var Boolean