|
|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 2304 (0x900)
Types: TextFile
Names: »mirrorjob«
└─⟦a41ae585a⟧ Bits:30001842 SW-save af projekt 1000, Alarm-system
└─⟦72244f0ef⟧
└─⟦this⟧ »mirrorjob«
job jg 5 200 time 11 0 area 10 size 100000
(source=copy 25.1
mirrorlst= set 1 disc1
mirrorerr=set 1 disc1
mirrorlst= indent source mark lc
listc= cross mirrorlst
o mirrorerr
head 1
message mirror program
pascal80 spacing.3000 codesize.3000 evaenv alarmenv paxenv feaosenv source
o c
lookup pass6code
if ok.yes
(mirrorbin=set 1 disc1
mirrorbin=move pass6code
scope user mirrorbin
)
mirrorlst=copy listc mirrorerr
scope user mirrorlst
scope user mirrorerr
finis output.no
)
process str_mirror(
op_sem : sempointer;
var main_sem : !ts_pointer;
var stream_sem : !sempointer;
rec_stream,
xmit_stream : byte);
const
version = "vers 1.01 /";
stream_read = 3;
stream_write= 4;
type
str_buf = record
fi, la, ne : integer;
fix : alarmlabel;
data : array(1..256) of byte;
end;
var
msg : reference;
opzone : zone;
trans_pool : pool 1 of str_buf;
procedure send_read_stream;
begin
lock msg as buf : str_buf do
with msg^, buf do
begin
u1:= read_stream;
u2:= 0;
u3:= rec_stream;
u4:= stream_read;
fi:= 6;
la:= 239;
ne:= 6;
end;
signal( msg, stream_sem^ );
end;
procedure send_write_stream;
begin
lock msg as buf : str_buf do
with msg^, buf do
begin
u1:= write_stream;
u3:= xmit_stream;
u4:= stream_write;
end;
signal( msg, stream_sem^ );
end;
begin
testopen ( opzone, own.incname, op_sem );
testout ( opzone, version, fe_env_version );
alloc ( msg, trans_pool, main_sem.s^ );
send_read_stream;
repeat
wait( msg, main_sem.w^ );
if msg^.u4 = stream_read then
send_write_stream else
send_read_stream;
until false
end.
\f
▶EOF◀