|
|
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: 2304 (0x900)
Types: TextFileVerbose
Names: »ncth«
└─⟦a41ae585a⟧ Bits:30001842 SW-save af projekt 1000, Alarm-system
└─⟦72244f0ef⟧
└─⟦this⟧ »ncth«
process ncth(
var sys_vector:system_vector;
var reserve_sem : semaphore;
var ncth_sem:semaphore;
pu,formatter_prio,comint_prio:integer);
const
mess_type=7;
inbuf_type=9;
outbuftype=10;
vers = "ncth vers. 81.05.27/1";
ill_opcode=4;
not_mess=44;
formatter_stack_sz= 600;
comint_stack_sz=1900;
var
formatter_sem:semaphore;
formatter_sh:shadow;
comint_sem:semaphore;
comint_sh:shadow;
ncp_mess_ref:reference;
i:integer;
process formatter(
var sys_vector:system_vector;
var reserve_sem :semaphore;
var formatter_sem:semaphore);
external;
process comint(
var comint_sem:semaphore;
var sys_vector:system_vector;
var formatter_sem:semaphore);
external;
begin (* body of ncth *)
i:=link("formatter ",formatter);
i:= create("formatter ",formatter(sys_vector,reserve_sem,formatter_sem),
formatter_sh,formatter_stack_sz);
if i = 0 then start(formatter_sh,formatter_prio);
i:=link("comint ",comint);
i:=create("comint ",comint(comint_sem,sys_vector,formatter_sem),
comint_sh,comint_stack_sz);
if i = 0 then start(comint_sh,comint_prio);
while true do
begin
wait(ncp_mess_ref,ncth_sem);
if ncp_mess_ref^.u2=7 then
case ncp_mess_ref^.u1 of
9:signal(ncp_mess_ref,comint_sem);
10:signal(ncp_mess_ref,formatter_sem)
otherwise
begin
ncp_mess_ref^.u2:=ill_opcode;
return(ncp_mess_ref);
end
end
else
begin
ncp_mess_ref^.u2:=not_mess;
return(ncp_mess_ref);
end; (* of if ncp_mess---- *)
end; (* of while true do *)
end. (* of ncth *)
«eof»