decl
int i, semid, pid, data, temp, filedis, a;
string filename;
enddecl
int main()
{
begin
temp = exposcall("Read",-1,filename);
filedis = exposcall("Open", "numbers.dat");
semid = exposcall("Semget");
pid = exposcall("Fork");
a = 0;
data = -1;
if(pid > 0) then
while(a != -2) do
temp = exposcall("SemLock", semid);
a = exposcall("Read",filedis,data);
temp = exposcall("Write",-2,data);
temp = exposcall("SemUnLock", semid);
endwhile;
temp = exposcall("Semrelease", semid);
else
while(a != -2) do
temp = exposcall("SemLock", semid);
a = exposcall("Read",filedis,data);
temp = exposcall("Write",-2,data);
temp = exposcall("SemUnLock", semid);
endwhile;
temp = exposcall("Semrelease", semid);
endif;
return 0;
end
}