|
|
DataMuseum.dkPresents historical artifacts from the history of: RC3500 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC3500 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 3840 (0xf00)
Types: TextFileVerbose
Names: »spas«
└─⟦a41ae585a⟧ Bits:30001842 SW-save af projekt 1000, Alarm-system
└─⟦72244f0ef⟧
└─⟦this⟧ »spas«
process s ( (* for a ts in alarm system *)
procname : alfa;
sv : system_vector);
(*---------------------------------------------------------------*)
process eva ( pn: alfa; sv: system_vector);
const
version = "vers s2.00 /" ;
var
lamtab : lam_tab;
sem : ts_sem_vector;
semp : ts_pointer;
sh : array(1..15) of shadow;
cv : integer;
msg : reference;
opsem: sempointer;
stopsem : semaphore;
console : zone;
process test ( pn: alfa; sv: system_vector; var sem: ts_sem_vector);
external;
process lam ( pn: alfa; sv: system_vector; pu, level:integer;
var sem1: semaphore );
external;
(* old format
process vcatc ( pn: alfa; sv: system_vector;
var messem, vchsem, lamsem, timsem: semaphore;
dc: macroaddr; mic, chn: integer);
external;
*)
process tap ( pn: alfa; opsem: sempointer;;
var semp: !ts_pointer );
external;
process tssuper(
procname : alfa;
sv : system_vector;
var sem : ts_sem_vector );
external;
process vagt(
procname : alfa;
sv : system_vector;
(*
var main_sem,timeout_sem,lam_sem: semaphore);
*)
var sem : ts_sem_vector );
external;
function createok(cv: integer) : boolean;
begin
if cv=0 then createok:= true
else
begin
testout(console,"createerror ",cv);
createok:= false;
end
end;
\f
(*-----------------------------------------------------------*)
begin
own.incname:= pn;
opsem:= sv(operatorsem);
testopen ( console, own.incname, opsem);
testout ( console, version, al_env_version);
link("tssupervisor",tssuper);
(*
testout ( console, "link ", 1);
*)
cv:= create(tssuper("tssupervisor",sv,
sem),
sh(1),tss_size,0);
(*
testout ( console, "create ", cv);
*)
if createok(cv) then start(sh(1),tss_pri);
(*
testout ( console, "tss started ", cv);
*)
(* no lam
link ("lam ", lam);
cv:= create ( lam ("lam ", sv, 0, 5, sem(lam_sem_no)),
sh(12), lam_size, pu_no);
if createok ( cv) then start ( sh(12), lam_pri);
(*
testout ( console,"lam started ", cv);
*)
link("vagt ",vagt);
cv:= create ( vagt (
"vagt ", sv, sem),
sh(14), vc_sim_size, pu_no);
if createok(cv) then start(sh(14),vc_sim_pri);
(*
testout ( console,"vagt started",cv);
*)
semp.w:= ref ( sem(28));
semp.s:= ref ( sem(29));
link ("tap ", tap);
cv:= create ( tap ( "tap ", opsem, semp ),
sh(3), 2040, 0);
if createok ( cv) then start ( sh(3), -1);
link ("test ", test);
cv:= create ( test ("test ", sv, sem), sh(11), 512, 0);
if createok ( cv) then start ( sh(11), 0);
testout ( console, "all started.", 3);
repeat
wait(msg,stopsem);
testout(console,"msg to eva ",msg^.u4);
release(msg);
until false
end; (* of eva *)
(*-------------------------------------------------------------*)
var
main_sem: semaphore; (* for at undgaa end. *)
inc : shadow;
msg : reference;
cv : integer;
begin (* s *)
cv:= create ( eva ("eva ", sv), inc, 1024, 0 );
start ( inc, -1);
wait ( msg, main_sem ); (* stop here *)
end.
«eof»