From: arny@wayback.UUCP (Arny B. Engelson)
Subject: Re: Help me to solve this problem!
Date: Tue, 25-Aug-87 17:15:05 EDT [thread overview]
Date: Tue Aug 25 17:15:05 1987
Message-ID: <1192@wayback.UUCP> (raw)
In-Reply-To: 8708241839.AA01159@ucbvax.Berkeley.EDU
I would expect the program to do exactly what you expected it to do.
One possibility is that the delay statement is not implemented very nicely
(although still legally). LRM 9.6:1 states "The execution of a delay statement
... suspends further execution of the task ... for AT LEAST the duration
specified ... " [emphasis mine]
Perhaps they just decided to delay forever?
You mentioned VAX Ada; have you tried pragma Time_Slice?
How about making the "Get (Key)" part of a timed entry call, as follows:
---------------------------------------------------
task body mon is
L_Key : Character;
begin
loop
Get (L_Key);
accept Got_It (Out_Key : out Character) do
Out_Key := Key;
end;
end loop;
end;
task body imore is
begin
loop
select
mon.Got_It (Key);
or
delay Dur_Time;
Print_Next_Screen;
end select;
end loop;
end;
---------------------------------------------------
I know the above code is incomplete and has some bugs in it, but I'm
just trying to stimulate ideas. Besides I only thought of it as I was
typing this article, and don't have time to go over it now.
- Arny Engelson {ihnp4|bonnie|clyde}!wayback!arny
next prev parent reply other threads:[~1987-08-25 21:15 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
1987-08-24 19:06 Help me to solve this problem! HAERIM LEE
1987-08-25 21:15 ` Arny B. Engelson [this message]
1987-08-27 18:39 ` Jeff Bartlett
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox